InsertMenuItemA function (winuser.h)

Inserts a new menu item at the specified position in a menu.

Syntax

BOOL InsertMenuItemA(
  [in] HMENU            hmenu,
  [in] UINT             item,
  [in] BOOL             fByPosition,
  [in] LPCMENUITEMINFOA lpmi
);

Parameters

[in] hmenu

Type: HMENU

A handle to the menu in which the new menu item is inserted.

[in] item

Type: UINT

The identifier or position of the menu item before which to insert the new item. The meaning of this parameter depends on the value of fByPosition.

[in] fByPosition

Type: BOOL

Controls the meaning of item. If this parameter is FALSE, item is a menu item identifier. Otherwise, it is a menu item position. See Accessing Menu Items Programmatically for more information.

[in] lpmi

Type: LPCMENUITEMINFO

A pointer to a MENUITEMINFO structure that contains information about the new menu item.

Return value

Type: BOOL

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, use the GetLastError function.

Remarks

The application must call the DrawMenuBar function whenever a menu changes, whether the menu is in a displayed window.

In order for keyboard accelerators to work with bitmap or owner-drawn menu items, the owner of the menu must process the WM_MENUCHAR message. See Owner-Drawn Menus and the WM_MENUCHAR Message for more information.

Examples

For an example, see Example of Menu-Item Bitmaps.

Note

The winuser.h header defines InsertMenuItem as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll
API set ext-ms-win-ntuser-menu-l1-1-1 (introduced in Windows 8.1)

See also

Conceptual

DrawMenuBar

MENUITEMINFO

Menus

Reference