Condividi tramite


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: significati

    • MF_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

Vedere anche

Riferimenti

Classe CMenu

Grafico delle gerarchie

CMenu::GetMenuState

EnableMenuItem