Pregunta

¿Cómo puedo ocultar un elemento del menú bajo ciertas condiciones en MFC?
No me interesa simplemente atenuarlo.

¿Fue útil?

Solución

Agregue un controlador de actualización para su elemento de menú (usando ON_UPDATE_COMMAND_UI).

Esta línea debería aparecer en su mapa de mensajes:

  ON_UPDATE_COMMAND_UI(ID_MYMENUITEM, OnUpdateMyMenuItem)

En el controlador, use este código:

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

Otros consejos

O si está eliminando un solo elemento del menú, use CMenu :: RemoveMenu

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top