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

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

可以使用 GetObject 函数获取 BITMAP 结构中 hbmMaskhbmColor 的内容。 可以通过调用此结构中的位图上的 GetDIBits 来获取位图位。

ICONINFOEXICONINFO 结构的扩展版本,其中包含可用于查询图标或游标资源位的其他 szModName/szResName/wResID 成员。 这些位通常通过调用 FindResource、LoadResourceLockResourceLookupIconIdFromDirectoryEx 函数来加载。

注意

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

要求

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

请参阅

概念性

CreateIconIndirect

GetIconInfo

图标

位图

GetObject

BITMAP

GetDIBits

引用