原文链接 -> 传送门
函数功能:
SetMenultemBitmaps 函数用于将菜单项与特定位图结合。无论菜单项被选中还是取消,系统都会在菜单项后显示合适的位图。
API 函数原型:
注释:_In_ 说明该参数是输入的;_In_Opt_ 说明该参数是输入的、可选的。
BOOL WINAPI SetMenuItemBitmaps( _In_ HMENU hMenu, _In_ UINT uPosition, _In_ UINT uFlags, _In_opt_ HBITMAP hBitmapUnchecked, _In_opt_ HBITMAP hBitmapChecked );
参数解析:
|
参数 |
含义 |
||||||
|
hMenu |
指向接收新的选择标识位图的菜单项所在的菜单的句柄 |
||||||
|
uPosition |
指向被修改的菜单项,取决于 uFlags 参数 |
||||||
|
uFlags |
指定 uPosition 参数是如何解释的,必须是下列值之一:
|
||||||
|
hBitmapUnchecked |
菜单项未被选中时显示的位图的句柄 |
||||||
|
hBitmapChecked |
菜单项被选中时显示的位图的句柄 |
返回值:
1. 如果函数执行成功,返回非 0 值;
2. 如果函数执行失败,返回 0。
获取更多错误信息,查看 GetLastError 函数。
备注:
1. 当 hBitmapUnchecked 或 hBitmapChecked 参数的值为 NULL 时,系统将不会在菜单项后显示对应的选择状态;如果两个参数都为 NULL,系统将会在菜单项被选中时,显示默认的选择标记位图或在菜单项未被选中时,移除选择标记位图。
2. 当菜单被销毁时,这些位图不会被销毁;只能由应用程序销毁他们。
3. 选择和取消的位图应该是单色的。系统使用布尔运算符 AND 将菜单和位图结合导致白色部分变为透明,黑色部分变为菜单项的颜色。如果你使用彩色位图,结果可能不是你需要的。
4. 使用 GetSystemMetrics 函数时利用 CXMENUCHECK 和 CYMENUCHECK 参数获取位图的尺寸。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |
|
Library |
User32.lib |
|
DLL |
User32.dll |




