RemoveMenu function (winuser.h)

Deletes a menu item or detaches a submenu from the specified menu. If the menu item opens a drop-down menu or submenu, RemoveMenu does not destroy the menu or its handle, allowing the menu to be reused. Before this function is called, the GetSubMenu function should retrieve a handle to the drop-down menu or submenu.

Syntax

BOOL RemoveMenu(
  [in] HMENU hMenu,
  [in] UINT  uPosition,
  [in] UINT  uFlags
);

Parameters

[in] hMenu

Type: HMENU

A handle to the menu to be changed.

[in] uPosition

Type: UINT

The menu item to be deleted, as determined by the uFlags parameter.

[in] uFlags

Type: UINT

Indicates how the uPosition parameter is interpreted. This parameter must be one of the following values.

Value Meaning
MF_BYCOMMAND
0x00000000L
Indicates that uPosition gives the identifier of the menu item. If neither the MF_BYCOMMAND nor MF_BYPOSITION flag is specified, the MF_BYCOMMAND flag is the default flag.
MF_BYPOSITION
0x00000400L
Indicates that uPosition gives the zero-based relative position of the 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, call GetLastError.

Remarks

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

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-0 (introduced in Windows 8)

See also

Conceptual

CreatePopupMenu

DeleteMenu

DrawMenuBar

GetSubMenu

Menus

Reference