Funzione GetMenuState (winuser.h)
Recupera i flag di menu associati alla voce di menu specificata. Se la voce di menu apre un sottomenu, questa funzione restituisce anche il numero di elementi nel sottomenu.
Sintassi
UINT GetMenuState(
[in] HMENU hMenu,
[in] UINT uId,
[in] UINT uFlags
);
Parametri
[in] hMenu
Tipo: HMENU
Handle del menu che contiene la voce di menu i cui flag devono essere recuperati.
[in] uId
Tipo: UINT
Voce di menu per la quale devono essere recuperati i flag di menu, come determinato dal parametro uFlags .
[in] uFlags
Tipo: UINT
Indica come viene interpretato il parametro uId . Questo parametro può avere uno dei valori seguenti.
Valore restituito
Tipo: UINT
Se l'elemento specificato non esiste, il valore restituito è -1.
Se la voce di menu apre un sottomenu, il byte di ordine basso del valore restituito contiene i flag di menu associati all'elemento e il byte di ordine elevato contiene il numero di elementi nel sottomenu aperto dall'elemento.
In caso contrario, il valore restituito è una maschera (OR bit per bit) dei flag di menu. Di seguito sono riportati i flag di menu associati alla voce di menu.
Codice/valore restituito | Descrizione |
---|---|
|
Accanto all'elemento viene posizionato un segno di spunta (solo per menu a discesa, sottomenu e menu di scelta rapida). |
|
L'elemento è disabilitato. |
|
L'elemento è disabilitato e disattivato. |
|
L'elemento è evidenziato. |
|
Si tratta dello stesso flag di MF_MENUBREAK , ad eccezione dei menu a discesa, dei sottomenu e dei menu di scelta rapida, in cui la nuova colonna è separata dalla colonna precedente in base a una linea verticale. |
|
L'elemento viene posizionato su una nuova riga (per le barre dei menu) o in una nuova colonna (per menu a discesa, sottomenu e menu di scelta rapida) senza separare le colonne. |
|
L'elemento viene disegnato dal proprietario. |
|
La voce di menu è un sottomenu. |
|
Esiste una linea di divisione orizzontale (solo per menu a discesa, sottomenu e menu di scelta rapida). |
Commenti
È possibile testare un elemento per un valore di flag pari a MF_ENABLED, MF_STRING, MF_UNCHECKED o MF_UNHILITE. Tuttavia, poiché questi valori equivalgono a zero, è necessario usare un'espressione per testarli.
Contrassegno | Espressione da testare per il flag |
---|---|
MF_ENABLED | ! (Flag&(MF_DISABLED | MF_GRAYED)) |
MF_STRING | ! (Flag&(MF_BITMAP | MF_OWNERDRAW)) |
MF_UNCHECKED | ! (Flag&MF_CHECKED) |
MF_UNHILITE | ! (Flag&HILITE) |
Esempio
Per un esempio, vedere Simulazione di caselle di controllo in un menu.
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-2 (introdotto in Windows 10, versione 10.0.10240) |
Vedi anche
Informazioni concettuali
Riferimento