PopupMenuItem
The PopupMenuItem
structure contains information about the menu items in a menu resource that
open a menu or a submenu.
struct PopupMenuItem {
DWORD
type;
DWORD
state;
DWORD id;
WORD
resInfo;
szOrOrd
menuText;
};
Members
type
Specifies a
set of type flags that you can use to describe the menu item. Some of the
values this member can have include:
Value |
Meaning |
MF_END |
The menu
item is the last on the menu; the flag is used internally by the system. |
MF_POPUP |
The menu
item opens a menu or a submenu; the flag is used internally by the system. |
If you
specify MF_POPUP, it indicates that the menu item is one that opens a menu or a
submenu.
In addition
to the values MF_END and MF_POPUP, this member can also be a combination of the
type values listed with the dwType member of the MENUITEMINFO
#include WINUSER.H
state
Specifies a
set of state flags that you can use to describe the menu item. This member can
be a combination of the state values listed with the dwState member of
the MENUITEMINFO structure. The state values are those that begin with
MFS_. To use these predefined MFS_* state values, include the following
statement in your .RC file:
#include WINUSER.H
id
A numeric
expression that identifies the menu item that is passed in the WM_COMMAND
message.
resInfo
A set of bit flags that specify the type of menu item.
This member can be one of the following values.
Value |
Meaning |
MFR_END |
The menu
item is the last in this submenu or menu resource; this flag is used
internally by the system. |
MFR_POPUP |
The menu
item opens a menu or a submenu; the flag is used internally by the system. |
menuText
Specifies a
null-terminated Unicode string that contains the text for this menu item. There
is no fixed limit on the size of this string.
Remarks
There is one PopupMenuItem structure for each
menu item that opens a menu or a submenu. Identify this type of menu item by
setting the type member to MF_POPUP and by setting the MFR_POPUP bit in
the resInfo member to 0x0001. In this case, the final data written to
the RT_MENU resource for the menu or submenu is the MENUHELPID
Additionally,
every PopupMenuItem structure that has the MFR_POPUP bit set in the resInfo
member will be followed by a MENUHELPID structure plus an additional
number of PopupMenuItem structures, one for each menu item in that submenu.
The last PopupMenuItem structure in the submenu will have the MFR_END
bit set in the resInfo member. To find the end of the resource, look for
a matching MFR_END for every MFR_POPUP plus one additional MFR_END that matches
the outermost set of menu items.
Indicate the
last menu item by setting the type member to MF_END. Because you can
nest submenus, there can be multiple levels of MF_END. In these instances, the
menu items are sequential.
See Also