Поделиться через


Структура MENUINFO (winuser.h)

Содержит сведения о меню.

Синтаксис

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

Члены

cbSize

Тип: DWORD

Размер структуры в байтах. Вызывающий объект должен присвоить этому члену значение sizeof(MENUINFO).

fMask

Тип: DWORD

Указывает элементы для извлечения или задания (за исключением MIM_APPLYTOSUBMENUS). Этот элемент может иметь одно или несколько из следующих значений.

Значение Значение
MIM_APPLYTOSUBMENUS
0x80000000
Параметры применяются к меню и всем его подменю. SetMenuInfo использует этот флаг, а GetMenuInfo игнорирует этот флаг.
MIM_BACKGROUND
0x00000002
Получает или задает элемент hbrBack .
MIM_HELPID
0x00000004
Извлекает или задает элемент dwContextHelpID .
MIM_MAXHEIGHT
0x00000001
Получает или задает элемент cyMax .
MIM_MENUDATA
0x00000008
Извлекает или задает элемент dwMenuData .
MIM_STYLE
0x00000010
Извлекает или задает элемент dwStyle .

dwStyle

Тип: DWORD

Стиль меню. Этот элемент может иметь одно или несколько из следующих значений.

Значение Значение
MNS_AUTODISMISS
0x10000000
Меню автоматически завершается, когда мышь находится за пределами меню в течение примерно 10 секунд.
MNS_CHECKORBMP
0x04000000
То же пространство зарезервировано для проверка метки и растрового изображения. Если нарисована проверка метка, то растровое изображение не будет. Все галочки и растровые изображения выравниваются. Используется для меню, где в некоторых элементах используются флажки, а в некоторых — растровые изображения.
MNS_DRAGDROP
0x20000000
Элементы меню — это целевые объекты удаления OLE или источники перетаскивания. Владелец меню получает сообщения WM_MENUDRAG и WM_MENUGETOBJECT .
MNS_MODELESS
0x40000000
Меню является немодерным; то есть, пока меню активно, не существует модального цикла сообщений.
MNS_NOCHECK
0x80000000
Слева от элемента не зарезервировано место для проверка метки. Элемент по-прежнему можно выбрать, но проверка метка не будет отображаться рядом с элементом.
MNS_NOTIFYBYPOS
0x08000000
Владелец меню получает сообщение WM_MENUCOMMAND , а не WM_COMMAND , когда пользователь делает выбор. MNS_NOTIFYBYPOS является стилем заголовка меню и не оказывает влияния при применении к отдельным подменю.

cyMax

Тип: UINT

Максимальная высота меню в пикселях. Если элементы меню превышают доступное пространство, автоматически используются полосы прокрутки. Значение по умолчанию (0) — это высота экрана.

hbrBack

Тип: HBRUSH

Дескриптор кисти, используемый для фона меню.

dwContextHelpID

Тип: DWORD

Идентификатор справки контекста. Это же значение используется в функциях GetMenuContextHelpId и SetMenuContextHelpId .

dwMenuData

Тип: ULONG_PTR

Значение, определяемое приложением.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть winuser.h (включая Windows.h)

См. также раздел

Обзор меню