Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top