STRUCTURE MENUITEMINFOW (winuser.h)
Contient des informations sur un élément de menu.
Syntaxe
typedef struct tagMENUITEMINFOW {
UINT cbSize;
UINT fMask;
UINT fType;
UINT fState;
UINT wID;
HMENU hSubMenu;
HBITMAP hbmpChecked;
HBITMAP hbmpUnchecked;
ULONG_PTR dwItemData;
LPWSTR dwTypeData;
UINT cch;
HBITMAP hbmpItem;
} MENUITEMINFOW, *LPMENUITEMINFOW;
Membres
cbSize
Type : UINT
Taille de la structure, en octets. L’appelant doit définir ce membre sur sizeof(MENUITEMINFO)
.
fMask
Type : UINT
Indique les membres à récupérer ou à définir. Ce membre peut être une ou plusieurs des valeurs suivantes.
fType
Type : UINT
Type d’élément de menu. Ce membre peut être une ou plusieurs des valeurs suivantes.
Les valeurs MFT_BITMAP, MFT_SEPARATOR et MFT_STRING ne peuvent pas être combinées entre elles. Définissez fMasksur MIIM_TYPE pour utiliser fType.
fType est utilisé uniquement si fMask a une valeur de MIIM_FTYPE.
Valeur | Signification |
---|---|
|
Affiche l’élément de menu à l’aide d’une bitmap. Le mot de bas ordre du membre dwTypeData est le handle bitmap, et le membre cch est ignoré.
MFT_BITMAP est remplacé par MIIM_BITMAP et hbmpItem. |
|
Places l’élément de menu sur une nouvelle ligne (pour une barre de menus) ou dans une nouvelle colonne (pour un menu déroulant, un sous-menu ou un menu contextuel). Pour un menu déroulant, un sous-menu ou un menu contextuel, une ligne verticale sépare la nouvelle colonne de l’ancienne. |
|
Places l’élément de menu sur une nouvelle ligne (pour une barre de menus) ou dans une nouvelle colonne (pour un menu déroulant, un sous-menu ou un menu contextuel). Pour un menu déroulant, un sous-menu ou un menu contextuel, les colonnes ne sont pas séparées par une ligne verticale. |
|
Attribue la responsabilité du dessin de l’élément de menu à la fenêtre propriétaire du menu. La fenêtre reçoit un message WM_MEASUREITEM avant que le menu ne s’affiche pour la première fois, et un message WM_DRAWITEM chaque fois que l’apparence de l’élément de menu doit être mise à jour. Si cette valeur est spécifiée, le membre dwTypeData contient une valeur définie par l’application. |
|
Affiche les éléments de menu sélectionnés à l’aide d’une case d’option au lieu d’une marque case activée si le membre hbmpChecked a la valeur NULL. |
|
Justifie à droite l’élément de menu et tous les éléments suivants. Cette valeur est valide uniquement si l’élément de menu se trouve dans une barre de menus. |
|
Spécifie que les menus cascadent de droite à gauche (la valeur par défaut est de gauche à droite). Il est utilisé pour prendre en charge les langues de droite à gauche, telles que l’arabe et l’hébreu. |
|
Spécifie que l’élément de menu est un séparateur. Un séparateur d’éléments de menu s’affiche sous la forme d’une ligne de division horizontale. Les membres dwTypeData et cch sont ignorés. Cette valeur est valide uniquement dans un menu déroulant, un sous-menu ou un menu contextuel. |
|
Affiche l’élément de menu à l’aide d’une chaîne de texte. Le membre dwTypeData est le pointeur vers une chaîne terminée par null, et le membre cch est la longueur de la chaîne.
MFT_STRING est remplacé par MIIM_STRING. |
fState
Type : UINT
État de l’élément de menu. Ce membre peut être une ou plusieurs de ces valeurs. Définissez fMasksur MIIM_STATE pour utiliser fState.
wID
Type : UINT
Valeur définie par l’application qui identifie l’élément de menu. Définissez fMasksur MIIM_ID pour utiliser wID.
hSubMenu
Type : HMENU
Handle du menu déroulant ou du sous-menu associé à l’élément de menu. Si l’élément de menu n’est pas un élément qui ouvre un menu déroulant ou un sous-menu, ce membre a la valeur NULL. Définissez fMasksur MIIM_SUBMENU pour utiliser hSubMenu.
hbmpChecked
Type : HBITMAP
Handle de la bitmap à afficher en regard de l’élément s’il est sélectionné. Si ce membre a la valeur NULL, une image bitmap par défaut est utilisée. Si la valeur de type MFT_RADIOCHECK est spécifiée, la bitmap par défaut est une puce. Sinon, il s’agit d’une marque case activée. Définissez fMasksur MIIM_CHECKMARKS pour utiliser hbmpChecked.
hbmpUnchecked
Type : HBITMAP
Handle de la bitmap à afficher en regard de l’élément s’il n’est pas sélectionné. Si ce membre a la valeur NULL, aucune bitmap n’est utilisée. Définissez fMasksur MIIM_CHECKMARKS pour utiliser hbmpUnchecked.
dwItemData
Type : ULONG_PTR
Valeur définie par l’application associée à l’élément de menu. Définissez fMasksur MIIM_DATA pour utiliser dwItemData.
dwTypeData
Type : LPTSTR
Contenu de l’élément de menu. La signification de ce membre dépend de la valeur de fType et est utilisée uniquement si l’indicateur MIIM_TYPE est défini dans le membre fMask .
Pour récupérer un élément de menu de type MFT_STRING, recherchez d’abord la taille de la chaîne en définissant le membre dwTypeData de MENUITEMINFO sur NULL , puis en appelant GetMenuItemInfo. La valeur de cch+1 correspond à la taille nécessaire. Ensuite, allouez une mémoire tampon de cette taille, placez le pointeur vers la mémoire tampon dans dwTypeData, incrémentez cch et appelez à nouveau GetMenuItemInfo pour remplir la mémoire tampon avec la chaîne. Si l’élément de menu récupéré est d’un autre type, GetMenuItemInfo définit le membre dwTypeData sur une valeur dont le type est spécifié par le membre fType .
Lors de l’utilisation avec la fonction SetMenuItemInfo , ce membre doit contenir une valeur dont le type est spécifié par le membre fType .
dwTypeData est utilisé uniquement si l’indicateur MIIM_STRING est défini dans le membre fMask
cch
Type : UINT
Longueur du texte de l’élément de menu, en caractères, lorsque des informations sur un élément de menu du type MFT_STRING sont reçues. Toutefois, cch n’est utilisé que si l’indicateur MIIM_TYPE est défini dans le membre fMask et a la valeur zéro dans le cas contraire. En outre, cch est ignoré lorsque le contenu d’un élément de menu est défini en appelant SetMenuItemInfo.
Notez que, avant d’appeler GetMenuItemInfo, l’application doit définir cch sur la longueur de la mémoire tampon vers laquelle pointe le membre dwTypeData . Si l’élément de menu récupéré est de type MFT_STRING (comme indiqué par le membre fType ), GetMenuItemInfo remplace cch par la longueur du texte de l’élément de menu. Si l’élément de menu récupéré est d’un autre type, GetMenuItemInfo définit le champ cch sur zéro.
Le membre cch est utilisé lorsque l’indicateur MIIM_STRING est défini dans le membre fMask .
hbmpItem
Type : HBITMAP
Handle de la bitmap à afficher, ou il peut s’agir de l’une des valeurs du tableau suivant. Il est utilisé lorsque l’indicateur MIIM_BITMAP est défini dans le membre fMask .
Valeur | Signification |
---|---|
|
Bitmap dessinée par la fenêtre qui possède le menu. L’application doit traiter les messages WM_MEASUREITEM et WM_DRAWITEM . |
|
Bouton Fermer pour la barre de menus. |
|
Bouton fermer désactivé pour la barre de menus. |
|
Bouton Réduire pour la barre de menus. |
|
Bouton réduire désactivé pour la barre de menus. |
|
Bouton Restaurer pour la barre de menus. |
|
Bouton Fermer pour le sous-menu. |
|
Bouton Agrandir pour le sous-menu. |
|
Bouton Réduire pour le sous-menu. |
|
Bouton Restaurer pour le sous-menu. |
|
Icône Windows ou icône de la fenêtre spécifiée dans dwItemData. |
Remarques
La structure MENUITEMINFO est utilisée avec les fonctions GetMenuItemInfo, InsertMenuItem et SetMenuItemInfo .
Le menu peut afficher des éléments à l’aide de texte, de bitmaps ou des deux.
Notes
L’en-tête winuser.h définit MENUITEMINFO comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | winuser.h (inclure Windows.h) |
Voir aussi
Conceptuel
Référence