隐藏MFC中的菜单项

时间:2009-01-05 15:26:44

标签: visual-c++ mfc menu

如何在MFC中的某些条件下隐藏菜单项?
我对它的灰色不感兴趣。

2 个答案:

答案 0 :(得分:14)

为菜单项添加更新处理程序(使用ON_UPDATE_COMMAND_UI)。

此行应显示在您的留言地图中:

  ON_UPDATE_COMMAND_UI(ID_MYMENUITEM, OnUpdateMyMenuItem)

在处理程序中,使用以下代码:

void CMainFrame::OnUpdateMyMenuItem(CCmdUI *pCmdUI)
{
  if (pCmdUI->m_pMenu!=NULL)
    pCmdUI->m_pMenu->DeleteMenu(pCmdUI->m_nID, MF_BYCOMMAND);
}

答案 1 :(得分:3)

或者,如果要删除单个菜单项,请使用CMenu :: RemoveMenu