setMenuItemBitmaps 函数 (winuser.h)
将指定的位图与菜单项相关联。 无论菜单项是选中还是清除,系统都显示菜单项旁边的相应位图。
语法
BOOL SetMenuItemBitmaps(
[in] HMENU hMenu,
[in] UINT uPosition,
[in] UINT uFlags,
[in, optional] HBITMAP hBitmapUnchecked,
[in, optional] HBITMAP hBitmapChecked
);
参数
[in] hMenu
类型: HMENU
包含要接收新检查标记位图的项的菜单的句柄。
[in] uPosition
类型: UINT
要更改的菜单项,由 uFlags 参数确定。
[in] uFlags
类型: UINT
指定如何解释 uPosition 参数。 uFlags 参数必须是以下值之一。
Value | 含义 |
---|---|
|
指示 uPosition 提供菜单项的标识符。 如果未指定 MF_BYCOMMAND 和 MF_BYPOSITION , 则MF_BYCOMMAND 为默认标志。 |
|
指示 uPosition 提供菜单项的从零开始的相对位置。 |
[in, optional] hBitmapUnchecked
类型: HBITMAP
未选择菜单项时显示的位图的句柄。
[in, optional] hBitmapChecked
类型: HBITMAP
选择菜单项时显示的位图的句柄。
返回值
类型: BOOL
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
如果 hBitmapUnchecked 或 hBitmapChecked 参数为 NULL,则系统不会在相应检查状态的菜单项旁边显示任何内容。 如果两个参数均为 NULL,则系统将在选择项时显示默认检查标记位图,并在未选择该项时删除位图。
销毁菜单时,不会销毁这些位图;销毁它们由应用程序决定。
所选和清除的位图应为单色。 系统使用布尔和运算符将位图与菜单组合在一起,使白色部分变为透明,黑色部分成为菜单项颜色。 如果使用颜色位图,则结果可能不可取。
使用具有SM_CXMENUCHECK和SM_CYMENUCHECK值的 GetSystemMetrics 函数检索位图维度。
示例
有关示例,请参阅 在菜单中模拟复选框。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |