Скрытие пункта меню в MFC - PullRequest
       21

Скрытие пункта меню в MFC

9 голосов
/ 05 января 2009

Как я могу скрыть пункт меню при определенных условиях в MFC?
Я не заинтересован в том, чтобы просто замаскировать это.

Ответы [ 2 ]

15 голосов
/ 05 января 2009

Добавьте обработчик обновлений для вашего пункта меню (используя 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);
}
3 голосов
/ 05 января 2009

Или, если вы удаляете один пункт меню, используйте CMenu :: RemoveMenu

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...