CMenu::EnableMenuItem
Abilita, disabilita, o attenuare una voce di menu.
UINT EnableMenuItem(
UINT nIDEnableItem,
UINT nEnable
);
Parametri
nIDEnableItem
Specifica la voce di menu da attivare, come determinato da nEnable. Questo parametro può specificare gli elementi del menu di scelta rapida e le voci di menu standard.nEnable
Specifica l'azione da eseguire. Può essere una combinazione MF_DISABLED, MF_ENABLED, o MF_GRAYED, con MF_BYCOMMAND o MF_BYPOSITION. Questi valori possono essere combinate utilizzando l'operatore OR bit. Questi valori sono i seguenti: significatiMF_BYCOMMAND specifica che il parametro fornisce l'id di comando voce di menu esistente. Impostazione predefinita.
MF_BYPOSITION specifica che il parametro fornisce la posizione della voce di menu esistente. Il primo elemento è la posizione 0.
MF_DISABLED disabilita la voce di menu in modo che non possa selezionare ma non di attenuare.
MF_ENABLED abilita la voce di menu in modo da poter selezionare e ripristinare il relativo stato attenuato.
MF_GRAYED disabilita la voce di menu in modo che non possa selezionare e la vengono visualizzati.
Valore restituito
Stato precedente (MF_DISABLED, MF_ENABLED, o MF_GRAYED) o – 1 se non valido.
Note
Le funzioni membro CreateMenu, InsertMenu, ModifyMenue LoadMenuIndirect è inoltre possibile impostare lo stato (attivato, disabilitato, o in grigio) di una voce di menu.
Utilizzando il valore MF_BYPOSITION richiede un'applicazione utilizzare CMenucorretto. Se CMenu barra dei menu viene utilizzato, una voce di menu di primo livello (un elemento nella barra dei menu è interessata. Per impostare lo stato di un elemento in un controllo popup o menu di scelta rapida annidato la posizione, un'applicazione deve specificare CMenu il menu di scelta rapida.
Quando un'applicazione specifica il flag MF_BYCOMMAND, Windows controlla tutti gli elementi del menu di scelta rapida che sono subordinati in CMenu; pertanto, a meno che le voci di menu duplicate siano presenti, utilizzando CMenu barra dei menu è sufficiente.
Esempio
// The code fragment below shows how to disable (and gray out) the
// File\New menu item.
// NOTE: m_bAutoMenuEnable is set to FALSE in the constructor of
// CMainFrame so no ON_UPDATE_COMMAND_UI or ON_COMMAND handlers are
// needed, and CMenu::EnableMenuItem() will work as expected.
CMenu* mmenu = GetMenu();
CMenu* submenu = mmenu->GetSubMenu(0);
submenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
Requisiti
Header: afxwin.h