Funzione EnableMenuItem (winuser.h)

Abilita, disabilita o grigio la voce di menu specificata.

Sintassi

BOOL EnableMenuItem(
  [in] HMENU hMenu,
  [in] UINT  uIDEnableItem,
  [in] UINT  uEnable
);

Parametri

[in] hMenu

Tipo: HMENU

Handle al menu.

[in] uIDEnableItem

Tipo: UINT

Voce di menu da abilitare, disabilitare o grigio, come determinato dal parametro uEnable . Questo parametro specifica una voce in una barra dei menu, un menu o un sottomenu.

[in] uEnable

Tipo: UINT

Controlla l'interpretazione del parametro uIDEnableItem e indica se la voce di menu è abilitata, disabilitata o disattivata. Questo parametro deve essere una combinazione dei valori seguenti.

Valore Significato
MF_BYCOMMAND
0x00000000L
Indica che uIDEnableItem fornisce l'identificatore della voce di menu. Se non viene specificato né il MF_BYCOMMAND né il flag MF_BYPOSITION, il flag MF_BYCOMMAND è il flag predefinito.
MF_BYPOSITION
0x00000400L
Indica che uIDEnableItem fornisce la posizione relativa in base zero della voce di menu.
MF_DISABLED
0x00000002L
Indica che la voce di menu è disabilitata, ma non disattivata, quindi non può essere selezionata.
MF_ENABLED
0x00000000L
Indica che la voce di menu è abilitata e ripristinata da uno stato grigio in modo che possa essere selezionata.
MF_GRAYED
0x00000001L
Indica che la voce di menu è disabilitata e disattivata in modo che non possa essere selezionata.

Valore restituito

Tipo: BOOL

Il valore restituito specifica lo stato precedente della voce di menu (è MF_DISABLED, MF_ENABLED o MF_GRAYED). Se la voce di menu non esiste, il valore restituito è -1.

Commenti

Un'applicazione deve usare il flag MF_BYPOSITION per specificare l'handle di menu corretto. Se viene specificato l'handle del menu sulla barra dei menu, la voce di menu di primo livello (una voce nella barra dei menu) è interessata. Per impostare lo stato di un elemento in un menu a discesa o sottomenu in base alla posizione, un'applicazione deve specificare un handle nel menu a discesa o nel sottomenu.

Quando un'applicazione specifica il flag di MF_BYCOMMAND , il sistema controlla tutti gli elementi che aprono sottomenus nel menu identificato dall'handle di menu specificato. Pertanto, a meno che non siano presenti voci di menu duplicate, specificando l'handle di menu sulla barra dei menu è sufficiente.

Le funzioni InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu e SetMenuItemInfo possono anche impostare lo stato (abilitato, disabilitato o grigio) di una voce di menu.

Quando si modifica un menu finestra, la barra dei menu non viene immediatamente aggiornata. Per forzare l'aggiornamento, chiamare DrawMenuBar.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-menu-l1-1-0 (introdotto in Windows 8)

Vedi anche

Informazioni concettuali

DrawMenuBar

GetMenuItemID

InsertMenu

InsertMenuItem

LoadMenuIndirect

Menu

ModifyMenu

Riferimento

SetMenuItemInfo

WM_SYSCOMMAND