Question

Comment masquer un élément de menu dans certaines conditions dans MFC?
Je ne suis pas intéressé par le grisonnement.

Était-ce utile?

La solution

Ajoutez un gestionnaire de mise à jour pour votre élément de menu (à l'aide de ON_UPDATE_COMMAND_UI).

Cette ligne doit apparaître dans votre map de messages:

  ON_UPDATE_COMMAND_UI(ID_MYMENUITEM, OnUpdateMyMenuItem)

Dans le gestionnaire, utilisez ce code:

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

Autres conseils

Si vous supprimez un seul élément de menu, utilisez CMenu :: RemoveMenu

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top