隐藏MFC中的菜单项

Dan*_*ana 9 mfc menu visual-c++

如何在MFC中的某些条件下隐藏菜单项?
只是把它弄糊涂我不感兴趣.

Ser*_*ier 15

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

此行应显示在您的消息映射中:

  ON_UPDATE_COMMAND_UI(ID_MYMENUITEM, OnUpdateMyMenuItem)
Run Code Online (Sandbox Code Playgroud)

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

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