Masquer un élément de menu dans MFC
-
03-07-2019 - |
Question
Comment masquer un élément de menu dans certaines conditions dans MFC?
Je ne suis pas intéressé par le grisonnement.
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