在MFC中如何删除POPUP类型的菜单项.RemoveMenu()要么采取ID或位置.由于POPUP菜单没有ID,左边的选项是使用位置.
但我没有得到我可以调用RemoveMenu()的方式和地点.
File Edit Test Test_submenu_1 Test_submenu_2 Test_submenu_3 > submenu_3_item_1 Test_submenu_4 Test_submenu_5
我想删除Test_submenu_3?我没有得到如何找到测试的CMenu对象,以便我可以通过传递submenu_3_item_1的位置"2"来调用RemoveMenu().
任何有关这样做的建议将不胜感激.
谢谢!
你不能使用LoadMenu,因为这个功能就是这样.
修改加载的菜单后,当用于加载它的菜单对象超出范围时,它将被终止.您必须修改当前使用的菜单.
您的菜单是主菜单的弹出部分,位置第二.它包含5个项目,第二个是另一个弹出窗口.据我了解,您想要删除此项目并弹出此项目.要使其工作,您将不得不向主窗口询问当前菜单:
CMenu* pMenu = GetMenu(); // get the main menu
CMenu* pPopupMenu = pMenu->GetSubMenu(2);//(Test menu with item....)
pPopupMenu->RemoveMenu(2, MF_BYPOSITION);
Run Code Online (Sandbox Code Playgroud)
当然,这段代码来自主框架.如果要在其他地方使用它,则必须使用指向主框架的指针访问所有内容.
归档时间: |
|
查看次数: |
6988 次 |
最近记录: |