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


Структура POPUPMENUITEM

Содержит сведения об элементах меню в ресурсе меню, открывающем меню или подменю. Определение структуры, приведенное здесь, предназначено только для объяснения; он отсутствует ни в одном стандартном файле заголовка.

Синтаксис

typedef struct {
  DWORD   type;
  DWORD   state;
  DWORD   id;
  WORD    resInfo;
  szOrOrd menuText;
} POPUPMENUITEM;

Члены

type

Тип: DWORD

Описывает элемент меню. Некоторые значения, которые могут быть у этого элемента, включают значения, показанные в списке ниже.

Помимо показанных значений, этот элемент также может быть сочетанием значений типов, перечисленных с элементом fType структуры MENUITEMINFO . Значения типов начинаются с MFT_. Чтобы использовать эти предопределенные значения типа MFT_*, добавьте в RC-файл следующую инструкцию:

#include "winuser.h"

Значение Значение
MF_END
0x80
Пункт меню является последним в меню; флаг используется системой внутри системы.
MF_POPUP
0x01
Пункт меню открывает меню или подменю; флаг используется системой внутри системы.

state

Тип: DWORD

Описывает элемент меню. Этот элемент может быть сочетанием значений состояния, перечисленных вместе с элементом dwState структуры MENUITEMINFO . Значения состояния начинаются с MFS_. Чтобы использовать эти предопределенные значения состояния MFS_*, добавьте в RC-файл следующую инструкцию:

#include "winuser.h"

идентификатор

Тип: DWORD

Числовое выражение, определяющее пункт меню, передаваемый в WM_COMMAND сообщении.

resInfo

Тип: WORD

Набор битовых флагов, указывающих тип пункта меню. Этот элемент может иметь одно из следующих значений.

Значение Значение
MFR_END
0x80
Элемент меню является последним в этом подменю или ресурсе меню; этот флаг используется системой внутри системы.
MFR_POPUP
0x01
Пункт меню открывает меню или подменю; флаг используется системой внутри системы.

menuText

Тип: szOrOrd

Строка Юникода, завершающаяся нулевым значением, которая содержит текст для этого пункта меню. Фиксированное ограничение на размер этой строки отсутствует.

Комментарии

Для каждого пункта меню, открывающего меню или подменю, существует одна структура POPUPMENUITEM . Определите этот тип пункта меню, задав для элемента типазначение MF_POPUP и задав бит MFR_POPUP в элементе resInfo значение 0x0001. В этом случае окончательные данные, записанные в ресурс RT_MENU для меню или подменю, — это структура MENUHELPID . MENUHELPID содержит числовое выражение, определяющее меню во время обработки WM_HELP .

Кроме того, за каждой структурой POPUPMENUITEM, за которой в элементе resInfo задан бит MFR_POPUP, следует структура MENUHELPID и дополнительное количество структур POPUPMENUITEM, по одной для каждого пункта меню в этом подменю. Последняя структура POPUPMENUITEM в подменю будет иметь MFR_END бит, заданный в элементе resInfo . Чтобы найти конец ресурса, найдите соответствующий MFR_END для каждого MFR_POPUP плюс еще один MFR_END , соответствующий самому внешнему набору пунктов меню.

Укажите последний пункт меню, задав для элемента типазначение MF_END. Так как вы можете вложить подменю, может существовать несколько уровней MF_END. В этих случаях элементы меню являются последовательными.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]

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

Справочные материалы

MENUHEADER

MENUHELPID

MENUITEMINFO

NORMALMENUITEM

Основные понятия

Ресурсы