2015-06-17 81 views
0

當我想創建一個彈出菜單時,我會使用CreatePopupMenu()函數。如何爲彈出菜單創建子菜單?

但是如果其中一個彈出菜單項需要有一個子菜單,我應該使用CreatePopupMenu()來創建子菜單,還是應該使用CreateMenu()

回答

1

CreateMenu是窗口的水平菜單欄。您可以使用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); 
+0

所以我確實應該使用'CreatePopupMenu()'爲子也。謝謝。 – paul

+0

保羅,對不起,我沒有閱讀正確的問題。我更新了答案,這就是你所說的。 –