Pergunta

Como posso ocultar um item de menu, sob certas condições no MFC?
Eu não estou interessado em apenas graying-lo.

Foi útil?

Solução

Adicionar um manipulador de atualização para o seu item de menu (usando ON_UPDATE_COMMAND_UI).

Esta linha deve aparecer no seu mapa de mensagem:

  ON_UPDATE_COMMAND_UI(ID_MYMENUITEM, OnUpdateMyMenuItem)

No manipulador, use este código:

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

Outras dicas

Ou se você está removendo uma única utilização item de menu CMenu :: RemoveMenu

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top