Structure MENUINFO (winuser.h)

Contient des informations sur un menu.

Syntaxe

typedef struct tagMENUINFO {
  DWORD     cbSize;
  DWORD     fMask;
  DWORD     dwStyle;
  UINT      cyMax;
  HBRUSH    hbrBack;
  DWORD     dwContextHelpID;
  ULONG_PTR dwMenuData;
} MENUINFO, *LPMENUINFO;

Membres

cbSize

Type : DWORD

Taille de la structure, en octets. L’appelant doit définir ce membre sur sizeof(MENUINFO).

fMask

Type : DWORD

Indique les membres à récupérer ou définir (à l’exception de MIM_APPLYTOSUBMENUS). Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
MIM_APPLYTOSUBMENUS
0x80000000
Les paramètres s’appliquent au menu et à tous ses sous-menus. SetMenuInfo utilise cet indicateur et GetMenuInfo ignore cet indicateur
MIM_BACKGROUND
0x00000002
Récupère ou définit le membre hbrBack .
MIM_HELPID
0x00000004
Récupère ou définit le membre dwContextHelpID .
MIM_MAXHEIGHT
0x00000001
Récupère ou définit le membre cyMax .
MIM_MENUDATA
0x00000008
Récupère ou définit le membre dwMenuData .
MIM_STYLE
0x00000010
Récupère ou définit le membre dwStyle .

dwStyle

Type : DWORD

Style de menu. Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
MNS_AUTODISMISS
0x10000000
Le menu se termine automatiquement lorsque la souris est en dehors du menu pendant environ 10 secondes.
MNS_CHECKORBMP
0x04000000
Le même espace est réservé à la marque case activée et à la bitmap. Si la marque case activée est dessinée, la bitmap ne l’est pas. Toutes les coches et bitmaps sont alignées. Utilisé pour les menus où certains éléments utilisent des coches et d’autres utilisent des bitmaps.
MNS_DRAGDROP
0x20000000
Les éléments de menu sont des cibles de déplacement OLE ou des sources de glissement. Le propriétaire du menu reçoit des messages WM_MENUDRAG et WM_MENUGETOBJECT .
MNS_MODELESS
0x40000000
Le menu est sans mode ; autrement dit, il n’y a pas de boucle de message modal de menu pendant que le menu est actif.
MNS_NOCHECK
0x80000000
Aucun espace n’est réservé à gauche d’un élément pour une marque de case activée. L’élément peut toujours être sélectionné, mais la marque case activée n’apparaît pas en regard de l’élément.
MNS_NOTIFYBYPOS
0x08000000
Le propriétaire du menu reçoit un message WM_MENUCOMMAND au lieu d’un message WM_COMMAND lorsque l’utilisateur effectue une sélection. MNS_NOTIFYBYPOS est un style d’en-tête de menu et n’a aucun effet lorsqu’il est appliqué à des sous-menus individuels.

cyMax

Type : UINT

Hauteur maximale du menu en pixels. Lorsque les éléments de menu dépassent l’espace disponible, les barres de défilement sont automatiquement utilisées. La valeur par défaut (0) est la hauteur de l’écran.

hbrBack

Type : HBRUSH

Poignée du pinceau à utiliser pour l’arrière-plan du menu.

dwContextHelpID

Type : DWORD

Identificateur d’aide de contexte. Il s’agit de la même valeur que celle utilisée dans les fonctions GetMenuContextHelpId et SetMenuContextHelpId .

dwMenuData

Type : ULONG_PTR

Valeur définie par l’application.

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

Vue d’ensemble des menus