ICONINFOEXW 结构 (winuser.h)
包含有关图标或光标的信息。 扩展 ICONINFO
语法
typedef struct _ICONINFOEXW {
DWORD cbSize;
BOOL fIcon;
DWORD xHotspot;
DWORD yHotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
WORD wResID;
WCHAR szModName[MAX_PATH];
WCHAR szResName[MAX_PATH];
} ICONINFOEXW, *PICONINFOEXW;
成员
cbSize
类型:DWORD
此结构的大小(以字节为单位)。
fIcon
类型:BOOL
指定此结构是定义图标还是游标。 true 值为
xHotspot
类型:DWORD
光标热点的 x 坐标。 如果此结构定义图标,则热点始终位于图标的中心,并且忽略此成员。
yHotspot
类型:DWORD
光标热点的 y 坐标。 如果此结构定义图标,则热点始终位于图标的中心,并且忽略此成员。
hbmMask
类型:HBITMAP
图标单色掩码的句柄 位图。
hbmColor
类型:HBITMAP
位图图标颜色的句柄。
wResID
类型:WORD
szModName 模块中资源的资源标识符。 如果图标或游标按名称加载,则 wResID 为零,szResName 包含资源名称。
可以使用 MAKEINTRESOURCE(wResID) 宏将资源标识符转换为与 资源管理功能兼容的资源名称类型。
szModName[MAX_PATH]
类型:TCHAR[MAX_PATH]
从中加载图标或游标的模块的名称。
可以使用 GetModuleHandle 函数将其转换为与 资源管理功能兼容的模块句柄。
szResName[MAX_PATH]
类型:TCHAR[MAX_PATH]
szModName 模块中资源的资源名称。
言论
对于单色图标,hbmMask 是图标高度的两倍(顶部为 AND 掩码和底部的 XOR 掩码),hbmColorNULL。 此外,在这种情况下,高度应为 2 的偶数倍。
对于颜色图标,hbmMask 和 hbmColor 位图的大小相同,每个大小都是图标的大小。
可以使用 GetObject 函数获取 hbmMask 的内容,并在 BITMAP 结构中获取 hbmColor 的内容。 可以通过调用 GetDIBits 此结构中的位图来获取位图位。
注意
winuser.h 标头将 ICONINFOEX 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | winuser.h (包括 Windows.h) |
另请参阅
概念
参考