Click here to Skip to main content
15,886,038 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
For a popupmenu having submenu as shown below
MainMenuItem1
MainMenuItem2->
             SubMenu2a
             SubMenu2b
MainMenuItem3


the main popupmenu can be opened using
mainMenu.TrackPopupMenu(TPM_NONOTIFY|TPM_RETURNCMD...);


The user can move the cursor to "MainMenuItem2" to popup the submenu.

Is it possible to open up the mainmenu along with the submenu in opened state programmatically?

The reason for doing this is to have an option for the user to select the submenuitem/mainmenuitem in one single right click.
Posted

I am not sure if it will work, but doing this should open the first SubMenu of the main menu:

C++
CMenu* pPopup = mainmenu.GetSubMenu(0);
pPopup->TrackPopupMenu( TPM_LEFTALIGN, ptMousePos.x, ptMousePos.y, this );


Obviously, you would have to specify the coordinates where the SubMenu should open.

If you can compile your program with the latest MFC (with the feature pack) you could switch to CMFCPopupMenu[^]. It is much nicer, with an optional animation and has more methods
 
Share this answer
 
Yes I can show only the submenu using the solution but,
sorry, my question was how to show a main-context-menu along with its sub-menu in a single right-click.

Anyway, I abandoned this feature altogether.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900