MFC VC中使菜单项变灰

    技术2022-05-19  22

    一、没有UpdateCmdUI句柄时

    MFC中缺省的习惯是当没有UpdateCmdUI句柄时程序是使能(Enable)菜单,菜单自动变成使能,只要关掉缺省值就可以了,把下面的代码加入你的程序 CMainFrm::CMainFrm { // Other stuff this->m_bAutoMenuEnable = false; }  

    然后在消息响应函数中添加如下代码:

    CMenu* m_menu = GetMenu(); CMenu* submenu = m_menu->GetSubMenu(0); submenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_GRAYED);

     

    二、有UpdateCmdUI句柄时

    在框架中添加菜单ID的ON_UPDATE_COMMAND_UI消息,在相应函数参数中会有“CCmdUI* pCmdUI”这个参数,添加如下代码:

    pCmdUI->Enable(false);

    就可是这个菜单变灰显


    最新回复(0)