我有一個使用CMenu作爲主菜單欄的MFC應用程序。
我還沒有能夠成功創建子菜單。如何將子菜單添加到MFC中的CMenu?
我可以有文件,編輯,視圖等的第一級和他們的子菜單,但我不能創建這些菜單之一的子菜單。
例如,我想能夠去文件 - >最近的項 - >在子菜單項
我能做到這一點很容易不夠,在VS的資源編輯器的列表中,但是這需要做動態。
我在CMenu中使用正確的類嗎?有什麼建議嘗試?
我還沒有找到任何體面的教程。即使將我指向正確的人也會有所幫助。
我有一個使用CMenu作爲主菜單欄的MFC應用程序。
我還沒有能夠成功創建子菜單。如何將子菜單添加到MFC中的CMenu?
我可以有文件,編輯,視圖等的第一級和他們的子菜單,但我不能創建這些菜單之一的子菜單。
例如,我想能夠去文件 - >最近的項 - >在子菜單項
我能做到這一點很容易不夠,在VS的資源編輯器的列表中,但是這需要做動態。
我在CMenu中使用正確的類嗎?有什麼建議嘗試?
我還沒有找到任何體面的教程。即使將我指向正確的人也會有所幫助。
使用您的資源編輯器添加包含一個佔位符項目的子菜單。然後,您可以通過編程來抓住這個子菜單中的引用,添加項目和刪除佔位符項:
CMenu *subMenu = mainMenu.GetSubMenu(menuPosition);
if(subMenu)
{
for(unsigned i = 0; i < stringArray.size(); i++)
{
subMenu->AppendMenu(MF_STRING, 400 + i, stringArray[i]);
}
subMenu->DeleteMenu(ID_SUBMENU_PLACEHOLDER, MF_BYCOMMAND);
}
我必須做同樣的事情今天,我在與功能包(新UI的東西)VS2008,並一直在尋找的樣本,有關於如何添加動態菜單項(http://msdn.microsoft.com/en-us/library/bb983167.aspx)
樣本您需要重寫CFrameWndEx :: OnShowPopupMenu方法。
最大。
什麼編程語言是您使用? – sth 2009-07-21 00:54:38