如何为弹出菜单创建子菜单?
How to create a submenu for a popup menu?
当我想创建一个弹出菜单时,我会使用 CreatePopupMenu()
函数。
但是如果其中一个弹出菜单项需要有一个子菜单,我应该也使用 CreatePopupMenu()
来创建子菜单,还是应该使用 CreateMenu()
?
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);
当我想创建一个弹出菜单时,我会使用 CreatePopupMenu()
函数。
但是如果其中一个弹出菜单项需要有一个子菜单,我应该也使用 CreatePopupMenu()
来创建子菜单,还是应该使用 CreateMenu()
?
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);