RemoveMenu 函数 (winuser.h)

删除菜单项或从指定菜单分离子菜单。 如果菜单项打开下拉菜单或子菜单, RemoveMenu 不会销毁菜单或其句柄,从而允许重复使用菜单。 在调用此函数之前, GetSubMenu 函数应检索下拉菜单或子菜单的句柄。

语法

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

参数

[in] hMenu

类型: HMENU

要更改的菜单的句柄。

[in] uPosition

类型: UINT

要删除的菜单项,由 uFlags 参数确定。

[in] uFlags

类型: UINT

指示如何解释 uPosition 参数。 此参数须为下列值之一。

含义
MF_BYCOMMAND
0x00000000L
指示 uPosition 提供菜单项的标识符。 如果 MF_BYCOMMANDMF_BYPOSITION 标志均未指定, 则MF_BYCOMMAND 标志为默认标志。
MF_BYPOSITION
0x00000400L
指示 uPosition 提供菜单项的从零开始的相对位置。

返回值

类型: BOOL

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

无论菜单是否在显示的窗口中,只要菜单发生更改,应用程序都必须调用 DrawMenuBar 函数。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8) 中引入 ext-ms-win-ntuser-menu-l1-1-0 (

请参阅

概念性

CreatePopupMenu

DeleteMenu

DrawMenuBar

GetSubMenu

菜单

引用