当我想创建一个弹出菜单时,我会使用CreatePopupMenu()
函数。
但是,如果其中一个弹出菜单项需要有子菜单,我应该使用CreatePopupMenu()
创建子菜单,还是应该使用CreateMenu()
?
答案 0 :(得分:2)
CreateMenu
适用于Window的水平菜单栏。您可以使用CreatePopupMenu
制作弹出菜单,以及弹出窗口的子菜单:
HMENU submenu = CreatePopupMenu();
AppendMenu(submenu, MF_STRING, 1001, L"submenu 1001");
HMENU mainmenu = CreatePopupMenu();
AppendMenu(mainmenu, MF_STRING, 100, L"main 100");
AppendMenu(mainmenu, MF_SEPARATOR, 0, NULL);
AppendMenu(mainmenu, MF_STRING, 101, L"main 101");
AppendMenu(mainmenu, MF_POPUP, (UINT)submenu, L"&submenu");
POINT p;
GetCursorPos(&p);
TrackPopupMenu(mainmenu, TPM_LEFTBUTTON, p.x, p.y, 0, hdlg, 0);