ICONINFOEXA 结构 (winuser.h)
包含有关图标或光标的信息。 扩展 ICONINFO。 由 GetIconInfoEx 使用。
语法
typedef struct _ICONINFOEXA {
DWORD cbSize;
BOOL fIcon;
DWORD xHotspot;
DWORD yHotspot;
HBITMAP hbmMask;
HBITMAP hbmColor;
WORD wResID;
CHAR szModName[MAX_PATH];
CHAR szResName[MAX_PATH];
} ICONINFOEXA, *PICONINFOEXA;
成员
cbSize
类型:DWORD
此结构的大小(以字节为单位)。
fIcon
类型: BOOL
指定此结构是定义图标还是游标。 值为 TRUE 指定图标; FALSE 指定游标。
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 掩码位于底部 ) ,hbmColor 为 NULL。 此外,在这种情况下,高度应为 2 的偶数倍。
对于颜色图标, hbmMask 和 hbmColor 位图的大小相同,每个位图都是图标的大小。
可以使用 GetObject 函数获取 BITMAP 结构中 hbmMask 和 hbmColor 的内容。 可以通过调用此结构中的位图上的 GetDIBits 来获取位图位。
ICONINFOEX 是 ICONINFO 结构的扩展版本,其中包含可用于查询图标或游标资源位的其他 szModName/szResName/wResID 成员。 这些位通常通过调用 FindResource、LoadResource、LockResource 和 LookupIconIdFromDirectoryEx 函数来加载。
注意
winuser.h 标头将 ICONINFOEX 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | winuser.h (包括 Windows.h) |
请参阅
概念性
GetObject
引用