MENUEX_TEMPLATE_ITEM

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 Handle to 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.

QuickInfo

  Windows NT: Requires version 4.0 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.

See Also

Menus Overview, Menu Structures, LoadMenuIndirect, MENUEX_TEMPLATE_HEADER, MENUITEMINFO