MFC中菜单的删除

Removal of Menu in MFC

本文关键字:删除 菜单 MFC      更新时间:2023-10-16

我通过资源编辑器在程序中添加了这样的菜单

Menu_A                          Menu_C

 Menu_B                           Menu_D

在点击D的事件处理程序时,我想删除下的菜单B

我已经搜索了它,找到了以下代码,但它不适合我。

void     CmainWn   ::  OnCD()
{
    //IDR_MENU1 is resource file entry for Menu A
    CMenu topmenu;
    topmenu.LoadMenuA(IDR_MENU1); 
    CMenu& testsubmenu=*topmenu.GetSubMenu(1);
    //ID_A_B is resource file entry for menu B 
    testsubmenu.RemoveMenu(ID_A_B,MF_BYCOMMAND);
}

我的代码出了什么问题。什么是正确的?

我是stackoverflow的新手,如果代码格式不正确,我很抱歉。

菜单已经从IDR_MENU1创建,因此资源不再相关。只需调用主窗口的GetMenu即可访问已创建的菜单。