Help in Accomplishing some basic VST Programming Workflows

Greetings,
I am trying to find help in building a simple customizable options menu for a VST3 plugin. I have all the documentation but can’t put the pieces together or find a worked example that is complete.

Much appreciated.

Here is a code example for a context menu:

You also should take a look at GetMenuItemInfoW, SetMenuItemInfoW, AppendMenuW and InsertMenuItemW, which you can use to modify the menu.

As VST development mostly is happening on more than one platform, I suggest to use a dedicated UI framework for these stuff like VSTGUI instead of working with native API’s like the one mentioned by SunshineDreaming.
So answering the question needs a little more information from @laecornell: what framework do you use and what is the purpose of the menu (because there is special context menu support in VST3 when it comes to parameters)?

I have the basic how to define and hookup a parameter outline. I used the x86 project generator. I am thinking I use CControl for the buttons and then when that parameter changes, cause a COptionMenu to pop up at the spot I want. But I can’t see any way to add list items to the COptionMenu class? I can easily drag in components from the WYSIWUG Editor and then translate the saved json into XML to place in the uidesc file. I am preferring to design the gui using the xml in the uidesc file. I have all the snippets I need to define the enum and hook it up to the gui item in the controller and processor scripts. I have my own cview that I can draw to. Just don’t see how to do the COptionMenu. I could add a mouse listener, put a bitmap in a view and then interpret the clicks for x-value. Kind of hard wiring that, but I thought the purpose of the editor was to give us some prepackaged interface?
Thanks for your replies.

How do you create the COptionMenu class?

I am about to sit down and work on a that today. I am thinking I will create an xml entry one for each CControl button and have it hidden at the place I want it to pop-up then make it visible when -people click the buttons. It at least seems a reasonable plan?

But how do you create the view you describe in the xml?

It seems one of the issues is that the processor and the controller don't actually talk to each other without some added coding. So the two basic questions I was trying to answer were 1) how do we get gui elements hooked up to inputs to the processor. I can do that for the CKnob but cannot seem to test that it works for any of the other GUI inputs. 2) how do I get the processor to send to the controller so that I can visualize my processing and alter the gui as needed. It seems the data exchange fills this gap but after following the tutorial on steinberg page my project no longer compiles. I don't have time to get back after it in the short-term so I will have to let that ruminate for a while.