InsertMenuItemW 函数 (winuser.h)
在菜单中的指定位置插入新菜单项。
语法
BOOL InsertMenuItemW(
[in] HMENU hmenu,
[in] UINT item,
[in] BOOL fByPosition,
[in] LPCMENUITEMINFOW lpmi
);
参数
[in] hmenu
类型:HMENU
插入新菜单项的菜单的句柄。
[in] item
类型:UINT
要在其之前插入新项的菜单项的标识符或位置。 此参数的含义取决于 fByPosition的值。
[in] fByPosition
类型:BOOL
控制 项的含义。 如果此参数 FALSE,则 项 为菜单项标识符。 否则,它是菜单项位置。 有关详细信息,请参阅 以编程方式访问菜单项。
[in] lpmi
类型:LPCMENUITEMINFO
指向 MENUITEMINFO 结构的指针,其中包含有关新菜单项的信息。
返回值
类型:BOOL
如果函数成功,则返回值为非零。
如果函数失败,则返回值为零。 若要获取扩展的错误信息,请使用 GetLastError 函数。
言论
每当菜单发生更改时,应用程序都必须调用 DrawMenuBar 函数,无论菜单是否位于显示的窗口中。
为了使键盘加速器能够处理位图或所有者绘制的菜单项,菜单的所有者必须处理 WM_MENUCHAR 消息。 有关详细信息,请参阅 Owner-Drawn 菜单和WM_MENUCHAR消息。
例子
有关示例,请参阅 位图Menu-Item 示例。
注意
winuser.h 标头将 InsertMenuItem 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | winuser.h (包括 Windows.h) |
库 | User32.lib |
DLL | User32.dll |
API 集 | ext-ms-win-ntuser-menu-l1-1-1(在 Windows 8.1 中引入) |
另请参阅
概念
参考