Struttura MENUITEMINFOA (winuser.h)

Contiene informazioni su una voce di menu.

Sintassi

typedef struct tagMENUITEMINFOA {
  UINT      cbSize;
  UINT      fMask;
  UINT      fType;
  UINT      fState;
  UINT      wID;
  HMENU     hSubMenu;
  HBITMAP   hbmpChecked;
  HBITMAP   hbmpUnchecked;
  ULONG_PTR dwItemData;
  LPSTR     dwTypeData;
  UINT      cch;
  HBITMAP   hbmpItem;
} MENUITEMINFOA, *LPMENUITEMINFOA;

Members

cbSize

Tipo: UINT

Dimensioni della struttura, in byte. Il chiamante deve impostare questo membro su sizeof(MENUITEMINFO).

fMask

Tipo: UINT

Indica i membri da recuperare o impostare. Questo membro può essere uno o più dei valori seguenti.

Valore Significato
MIIM_BITMAP
0x00000080
Recupera o imposta il membro hbmpItem .
MIIM_CHECKMARKS
0x00000008
Recupera o imposta i membri hbmpChecked e hbmpUnchecked .
MIIM_DATA
0x00000020
Recupera o imposta il membro dwItemData .
MIIM_FTYPE
0x00000100
Recupera o imposta il membro fType .
MIIM_ID
0x00000002
Recupera o imposta il membro wID .
MIIM_STATE
0x00000001
Recupera o imposta il membro fState .
MIIM_STRING
0x00000040
Recupera o imposta il membro dwTypeData .
MIIM_SUBMENU
0x00000004
Recupera o imposta il membro hSubMenu .
MIIM_TYPE
0x00000010
Recupera o imposta i membri fType e dwTypeData .

MIIM_TYPE viene sostituito da MIIM_BITMAP, MIIM_FTYPE e MIIM_STRING.

fType

Tipo: UINT

Tipo di voce di menu. Questo membro può essere uno o più dei valori seguenti.

I valori MFT_BITMAP, MFT_SEPARATOR e MFT_STRING non possono essere combinati tra loro. Impostare fMask su MIIM_TYPE per usare fType.

fType viene usato solo se fMask ha un valore di MIIM_FTYPE.

Valore Significato
MFT_BITMAP
0x00000004L
Visualizza la voce di menu usando una bitmap. La parola a basso ordine del membro dwTypeData è l'handle bitmap e il membro cch viene ignorato.

MFT_BITMAP viene sostituito da MIIM_BITMAP e hbmpItem.

MFT_MENUBARBREAK
0x00000020L
Places la voce di menu in una nuova riga (per una barra dei menu) o in una nuova colonna (per un menu a discesa, sottomenu o menu di scelta rapida). Per un menu a discesa, sottomenu o menu di scelta rapida, una riga verticale separa la nuova colonna dal vecchio.
MFT_MENUBREAK
0x00000040L
Places la voce di menu in una nuova riga (per una barra dei menu) o in una nuova colonna (per un menu a discesa, sottomenu o menu di scelta rapida). Per un menu a discesa, sottomenu o menu di scelta rapida, le colonne non sono separate da una riga verticale.
MFT_OWNERDRAW
0x00000100L
Assegna la responsabilità di disegno della voce di menu alla finestra proprietaria del menu. La finestra riceve un messaggio di WM_MEASUREITEM prima che il menu venga visualizzato per la prima volta e un messaggio WM_DRAWITEM ogni volta che l'aspetto della voce di menu deve essere aggiornato. Se questo valore viene specificato, il membro dwTypeData contiene un valore definito dall'applicazione.
MFT_RADIOCHECK
0x0000200L
Visualizza le voci di menu selezionate usando un segno di opzione anziché un segno di spunta se il membro hbmpChecked è NULL.
MFT_RIGHTJUSTIFY
0x00004000L
Just-just-just the menu item and any successive items. Questo valore è valido solo se la voce di menu è presente in una barra dei menu.
MFT_RIGHTORDER
0x00002000L
Specifica che i menu si applicano a destra a sinistra (il valore predefinito è a sinistra a destra). Questo viene usato per supportare lingue da destra a sinistra, ad esempio arabo e ebraico.
MFT_SEPARATOR
0x00000800L
Specifica che la voce di menu è un separatore. Un separatore di voci di menu viene visualizzato come riga di divisione orizzontale. I membri dwTypeData e cch vengono ignorati. Questo valore è valido solo in un menu a discesa, sottomenu o menu di scelta rapida.
MFT_STRING
0x00000000L
Visualizza la voce di menu usando una stringa di testo. Il membro dwTypeData è il puntatore a una stringa con terminazione null e il membro cch è la lunghezza della stringa.

MFT_STRING viene sostituito da MIIM_STRING.

fState

Tipo: UINT

Stato della voce di menu. Questo membro può essere uno o più di questi valori. Impostare fMask su MIIM_STATE per usare fState.

Valore Significato
MFS_CHECKED
0x00000008L
Controlla la voce di menu. Per altre informazioni sulle voci di menu selezionate, vedere il membro hbmpChecked .
MFS_DEFAULT
0x00001000L
Specifica che la voce di menu è l'impostazione predefinita. Un menu può contenere una sola voce di menu predefinita, visualizzata in grassetto.
MFS_DISABLED
0x0000003L
Disabilita la voce di menu e la grigio in modo che non possa essere selezionata. Equivale a MFS_GRAYED.
MFS_ENABLED
0x00000000L
Abilita la voce di menu in modo che possa essere selezionata. Questo è lo stato predefinito.
MFS_GRAYED
0x0000003L
Disabilita la voce di menu e la grigio in modo che non possa essere selezionata. Equivale a MFS_DISABLED.
MFS_HILITE
0x00000080L
Evidenzia la voce di menu.
MFS_UNCHECKED
0x00000000L
Deseleziona la voce di menu. Per altre informazioni sulle voci di menu chiare, vedere il membro hbmpChecked .
MFS_UNHILITE
0x00000000L
Rimuove l'evidenziazione dalla voce di menu. Questo è lo stato predefinito.

wID

Tipo: UINT

Valore definito dall'applicazione che identifica la voce di menu. Impostare fMask su MIIM_ID per usare wID.

hSubMenu

Tipo: HMENU

Handle nel menu a discesa o nel sottomenu associato alla voce di menu. Se la voce di menu non è un elemento che apre un menu a discesa o un sottomenu, questo membro è NULL. Impostare fMask su MIIM_SUBMENU per usare hSubMenu.

hbmpChecked

Tipo: HBITMAP

Handle per la bitmap da visualizzare accanto all'elemento se selezionato. Se questo membro è NULL, viene usata una bitmap predefinita. Se viene specificato il valore di tipo MFT_RADIOCHECK , la bitmap predefinita è un punto elenco. In caso contrario, è un segno di spunta. Impostare fMask su MIIM_CHECKMARKS per usare hbmpChecked.

hbmpUnchecked

Tipo: HBITMAP

Handle per la bitmap da visualizzare accanto all'elemento se non è selezionato. Se questo membro è NULL, non viene usata alcuna bitmap. Impostare fMask su MIIM_CHECKMARKS per usare hbmpUnchecked.

dwItemData

Tipo: ULONG_PTR

Valore definito dall'applicazione associato alla voce di menu. Impostare fMask su MIIM_DATA per usare dwItemData.

dwTypeData

Tipo: LPTSTR

Contenuto della voce di menu. Il significato di questo membro dipende dal valore di fType e viene usato solo se il flag di MIIM_TYPE è impostato nel membro fMask .

Per recuperare una voce di menu di tipo MFT_STRING, trovare prima le dimensioni della stringa impostando il membro dwTypeData di MENUITEMINFO su NULL e quindi chiamando GetMenuItemInfo. Il valore cch+1 è la dimensione necessaria. Allocare quindi un buffer di questa dimensione, posizionare il puntatore al buffer in dwTypeData, cch di incremento e chiamare GetMenuItemInfo per riempire nuovamente il buffer con la stringa. Se la voce di menu recuperata è di un altro tipo, GetMenuItemInfo imposta il membro dwTypeData su un valore il cui tipo viene specificato dal membro fType .

Quando si usa con la funzione SetMenuItemInfo , questo membro deve contenere un valore il cui tipo è specificato dal membro fType .

dwTypeData viene usato solo se il flag di MIIM_STRING è impostato nel membro fMask

cch

Tipo: UINT

Lunghezza del testo della voce di menu, in caratteri, quando le informazioni sono ricevute su una voce di menu del tipo di MFT_STRING . Tuttavia, cch viene usato solo se il flag di MIIM_TYPE è impostato nel membro fMask ed è zero in caso contrario. Inoltre, cch viene ignorato quando il contenuto di una voce di menu viene impostato chiamando SetMenuItemInfo.

Si noti che, prima di chiamare GetMenuItemInfo, l'applicazione deve impostare cch sulla lunghezza del buffer a cui punta il membro dwTypeData . Se la voce di menu recuperata è di tipo MFT_STRING (come indicato dal membro fType ), GetMenuItemInfo cambia cch alla lunghezza del testo della voce di menu. Se la voce di menu recuperata è di un altro tipo, GetMenuItemInfo imposta il campo cch su zero.

Il membro cch viene usato quando il flag MIIM_STRING è impostato nel membro fMask .

hbmpItem

Tipo: HBITMAP

Un handle per la bitmap da visualizzare oppure può essere uno dei valori della tabella seguente. Viene usato quando il flag di MIIM_BITMAP viene impostato nel membro fMask .

Valore Significato
HBMMENU_CALLBACK
((HBITMAP) -1)
Bitmap disegnata dalla finestra che possiede il menu. L'applicazione deve elaborare i messaggi di WM_MEASUREITEM e WM_DRAWITEM .
HBMMENU_MBAR_CLOSE
((HBITMAP) 5)
Pulsante Chiudi per la barra dei menu.
HBMMENU_MBAR_CLOSE_D
((HBITMAP) 6)
Pulsante di chiusura disabilitato per la barra dei menu.
HBMMENU_MBAR_MINIMIZE
((HBITMAP) 3)
Ridurre al minimo il pulsante per la barra dei menu.
HBMMENU_MBAR_MINIMIZE_D
((HBITMAP) 7)
Pulsante ridotto a icona disabilitato per la barra dei menu.
HBMMENU_MBAR_RESTORE
((HBITMAP) 2)
Pulsante Ripristina per la barra dei menu.
HBMMENU_POPUP_CLOSE
((HBITMAP) 8)
Pulsante Chiudi per il sottomenu.
HBMMENU_POPUP_MAXIMIZE
((HBITMAP) 10)
Pulsante Ingrandisci per il sottomenu.
HBMMENU_POPUP_MINIMIZE
((HBITMAP) 11)
Ridurre al minimo il pulsante per il sottomenu.
HBMMENU_POPUP_RESTORE
((HBITMAP) 9)
Pulsante Di ripristino per il sottomenu.
HBMMENU_SYSTEM
((HBITMAP) 1)
Icona di Windows o icona della finestra specificata in dwItemData.

Commenti

La struttura MENUITEMINFO viene usata con le funzioni GetMenuItemInfo, InsertMenuItem e SetMenuItemInfo.

Il menu può visualizzare elementi usando testo, bitmap o entrambi.

Nota

L'intestazione winuser.h definisce MENUITEMINFO come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione winuser.h (include Windows.h)

Vedi anche

Informazioni concettuali

GetMenuItemInfo

InsertMenuItem

Menu

Riferimento

SetMenuItemInfo

WM_DRAWITEM

WM_MEASUREITEM