10

如何在 MFC 中的某些条件下隐藏菜单项?
我对只是将其变灰不感兴趣。

4

2 回答 2

18

为您的菜单项添加更新处理程序(使用 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);
}
于 2009-01-05T16:09:26.973 回答
3

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

于 2009-01-05T16:12:30.757 回答