InsertMenuItemA 函数 (winuser.h)

在菜单中的指定位置插入新菜单项。

语法

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

参数

[in] hmenu

类型: HMENU

插入新菜单项的菜单的句柄。

[in] item

类型: UINT

要在其前面插入新项的菜单项的标识符或位置。 此参数的含义取决于 fByPosition 的值。

[in] fByPosition

类型: BOOL

控制 的含义。 如果此参数为 FALSE,则 item 是菜单项标识符。 否则,它是菜单项位置。 有关详细信息 ,请参阅以编程方式访问菜单项

[in] lpmi

类型: LPCMENUITEMINFO

指向 MENUITEMINFO 结构的指针,该结构包含有关新菜单项的信息。

返回值

类型: BOOL

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

如果函数失败,则返回值为零。 若要获取扩展的错误信息,请使用 GetLastError 函数。

注解

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

为了使键盘快捷方式能够处理位图或所有者绘制的菜单项,菜单所有者必须处理 WM_MENUCHAR 消息。 有关详细信息 ,请参阅所有者绘制的菜单和WM_MENUCHAR消息

示例

有关示例,请参阅 Menu-Item 位图示例

注意

winuser.h 标头将 InsertMenuItem 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

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

请参阅

概念性

DrawMenuBar

MENUITEMINFO

菜单

引用