DeleteMenu 函数 (winuser.h)

从指定菜单中删除项。 如果菜单项打开菜单或子菜单,此函数将销毁菜单或子菜单的句柄,并释放菜单或子菜单使用的内存。

语法

BOOL DeleteMenu(
  [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_BYCOMMAND标志和MF_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 ()

请参阅

概念性

DrawMenuBar

菜单

引用

RemoveMenu