The POPUPMENUITEM structure contains information about the menu items in a menu resource that open a menu or a submenu. The structure definition provided here is for explanation only; it is not present in any standard header file.
struct POPUPMENUITEM {
DWORD type;
DWORD state;
DWORD id;
WORD resInfo;
szOrOrd menuText;
};
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 structure. The type values are those that begin with MFT_. To use these predefined MFT_* type values, include the following statement in your .RC file:
#include "WINUSER.H"
#include "WINUSER.H"
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. |
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 structure. menuhelpid contains a numeric expression that identifies the menu during WM_HELP processing.
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.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Resources Overview, Resource Structures, MENUHEADER, menuhelpid, MENUITEMINFO, NORMALMENUITEM