Структура POPUPMENUITEM содержит информацию о пунктах меню в ресурсе меню, которые открывают меню или подменю. Определение структуры предоставлено здесь только для объяснения; она не представлена в каком-либо стандартном заголовочном файле.
Синтаксис
struct POPUPMENUITEM { DWORD type; DWORD state; DWORD id; WORD resInfo; szOrOrd menuText; }; |
Члены структуры
type
Задает установку типовых флажков, которые Вы можете использовать, чтобы характеризовать пункт меню. Некоторые из значений, которые этот член структуры может включать в себя, показаны в списке ниже.
В дополнение к указанным значениям, этот член структуры может также быть и комбинацией типовых значений, перечисляемых в члене fType структуры MENUITEMINFO. Типовые значения - это значения, которые начинаются с MFT_. Чтобы использовать эти предопределенные значения MFT_*, в ваш .rc файл включите нижеследующую инструкцию:
#include "WINUSER.H" |
Значение | Предназначение |
MF_END | Пункт меню является последним в меню; флажок используется внутри системы. |
MF_POPUP | Пункт меню открывает меню или подменю; флажок используется внутри системы. |
state
Задает установку флажков состояния, которые Вы можете использовать, чтобы характеризовать пункт меню. Этот член структуры может быть комбинацией значений состояния, перечисляемый в члене dwState структуры MENUITEMINFO. Значения состояния - это значения, которые начинаются с MFS_. Чтобы использовать эти предопределенные значения состояния MFS_*, в ваш .rc файл включите нижеследующую инструкцию:
#include "WINUSER.H" |
id
Числовое выражение, идентифицирующее пункт меню, которое передается в сообщении WM_COMMAND.
resInfo
Набор битовых флажков, которые определяют тип пункта меню. Этот член структуры может быть одним из ниже перечисленных значений.
Значение | Предназначение |
MFR_END | Пункт меню последний в этом подменю или ресурсе меню; этот флажок используется внутри системы. |
MFR_POPUP | Пункт меню открывает меню или подменю; флажок используется внутри системы. |
menuText
Устанавливает символьную строку Unicode с символом конца строки ('\0'), которая содержит текст для этого пункта меню. Нет никакого установленного предела для размера этой символьной строки.
Замечания
Для каждого пункта меню, который открывает меню или подменю, имеется одна структура POPUPMENUITEM. Идентифицируйте этот тип пункта меню, устанавливая член структуры type в MF_POPUP, а в члене resInfo устанавливая бит MFR_POPUP в 0x0001. В этом случае заключительные данные, записанные в ресурс RT_MENU для меню или подменю, - это структура MENUHELPID. MENUHELPID содержит числовое выражение, которое идентифицирует меню в ходе обработки сообщения WM_HELP.
Дополнительно, каждая структура POPUPMENUITEM, которая имеет в члене resInfo установленный бит MFR_POPUP, должен сопровождаться структурой MENUHELPID плюс дополнительное число структур POPUPMENUITEM, по одной для каждого пункта меню в этом подменю. Последняя структура POPUPMENUITEM в подменю должна иметь в члене resInfo установленный бит MFR_END. Чтобы находить конец ресурса, ищите соответствующий MFR_END для каждого MFR_POPUP плюс один дополнительный MFR_END, который соответствует наиболее удаленной установке пунктов меню.
Указывайте последний пункт меню, устанавливая член структуры type в MF_END. Поскольку Вы можете вкладывать подменю, может быть несколько уровней MF_END. В этих экземплярах, пункты меню являются последовательными.
Смотри также
Обзор Ресурсы, Структуры, используемые ресурсами, MENUHEADER, MENUHELPID, MENUITEMINFO, NORMALMENUITEM
Размещение и совместимость POPUPMENUITEM |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
- |
Заголовочный файл |
|
- объявлено в |
- |
- включено в |
- |
Unicode |
Нет |
Замечания по платформе |
Не имеется |