ICONINFOEXW 结构 (winuser.h)

包含有关图标或光标的信息。 扩展 ICONINFO。 由 GetIconInfoEx使用。

语法

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 值为 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 掩码),hbmColorNULL。 此外,在这种情况下,高度应为 2 的偶数倍。

对于颜色图标,hbmMaskhbmColor 位图的大小相同,每个大小都是图标的大小。

可以使用 GetObject 函数获取 hbmMask 的内容,并在 BITMAP 结构中获取 hbmColor 的内容。 可以通过调用 GetDIBits 此结构中的位图来获取位图位。

ICONINFOEX 是一种扩展版本的 iconINFO 结构,具有其他 szModNameszResNamewResID 成员,可用于查询图标或游标资源位。 这些位通常通过调用 FindResourceLoadResourceLockResourceLookupIconIdFromDirectoryEx 函数来加载这些位。

注意

winuser.h 标头将 ICONINFOEX 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
标头 winuser.h (包括 Windows.h)

另请参阅

概念

CreateIconIndirect

GetIconInfo

图标

位图

GetObject

BITMAP

GetDIBits

参考