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 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

LoadMenuIndirect, MENUEX_TEMPLATE_HEADER, MENUITEMINFO