The MENUEX_TEMPLATE_ITEM structure defines a menu item in an extended menu template. The structure definition given here is for explanation only; it is not present in any standard header file.
// typedef struct {
// DWORD dwType;
// DWORD dwState;
// UINT uId;
// WORD bResInfo;
// WCHAR szText[1];
// // DWORD dwHelpId;
// } MENUEX_TEMPLATE_ITEM;
Members
dwType
Menu item type. This member can be a combination of the type (beginning with MFT) values listed with the MENUITEMINFO structure.
dwState
Menu item state. This member can be a combination of the state (beginning with MFS) values listed with the MENUITEMINFO structure.
uId
Menu item identifier. This is an application-defined 16-bit value that identifies the menu item. In an extended menu resource, items that open drop-down menus or submenus as well as command items can have identifiers.
bResInfo
Value specifying whether the menu item is the last item in the menu bar, drop-down menu, submenu, or shortcut menu and whether it is an item that opens a drop-down menu or submenu. This member can be zero or more of these values:
Value | Meaning |
0x80 | The structure defines the last menu item in the menu bar, drop-down menu, submenu, or shortcut menu. |
0x01 | The structure defines a item that opens a drop-down menu or submenu. Subsequent structures define menu items in the corresponding drop-down menu or submenu. |
For 32-bit applications, this member is a WORD; for 16-bit applications, it is a BYTE.
szText
Menu item text. This member, which is a null-terminated Unicode string, is aligned on a word boundary. The size of the menu item definition varies depending on the length of this string.
dwHelpId
Help identifier for a drop-down menu or submenu. This member, which is included only for items that open drop-down menus or submenus, is located at the first doubleword boundary following the variable-length szText member.
Remarks
An extended menu template consists of a MENUEX_TEMPLATE_HEADER structure followed by one or more contiguous MENUEX_TEMPLATE_ITEM structures. The MENUEX_TEMPLATE_ITEM structures, which are variable in length, are aligned on doubleword boundaries. To create a menu from an extended menu template in memory, use the LoadMenuIndirect function.
See Also