Domanda

Come posso nascondere una voce di menu in determinate condizioni in MFC?
Non mi interessa solo sgridarlo.

È stato utile?

Soluzione

Aggiungi un gestore aggiornamenti per la tua voce di menu (utilizzando ON_UPDATE_COMMAND_UI).

Questa riga dovrebbe apparire nella mappa dei messaggi:

  ON_UPDATE_COMMAND_UI(ID_MYMENUITEM, OnUpdateMyMenuItem)

Nel gestore, utilizzare questo codice:

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

Altri suggerimenti

O se stai rimuovendo una singola voce di menu usa CMenu :: RemoveMenu

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top