createIcon 函数 (winuser.h)

创建具有指定大小、颜色和位图案的图标。

若要在运行时创建彩色图标,可以使用 CreateIconIndirect 函数,该函数基于 ICONINFO 结构的内容创建图标。

语法

HICON CreateIcon(
  [in, optional] HINSTANCE  hInstance,
  [in]           int        nWidth,
  [in]           int        nHeight,
  [in]           BYTE       cPlanes,
  [in]           BYTE       cBitsPixel,
  [in]           const BYTE *lpbANDbits,
  [in]           const BYTE *lpbXORbits
);

参数

[in, optional] hInstance

类型: HINSTANCE

创建图标的模块实例的句柄。

[in] nWidth

类型: int

图标的宽度(以像素为单位)。 请参阅备注。

[in] nHeight

类型: int

图标的高度(以像素为单位)。 请参阅备注。

[in] cPlanes

类型: BYTE

图标的 XOR 位掩码中的平面数。 请参阅备注。

[in] cBitsPixel

类型: BYTE

图标的 XOR 位掩码中的每像素位数。

[in] lpbANDbits

类型: const BYTE*

包含图标 AND 位掩码的位值的字节数组。 此位掩码描述单色位图。 请参阅备注。

[in] lpbXORbits

类型: const BYTE*

包含图标的 XOR 位掩码的位值的字节数组。 此位掩码描述单色或彩色位图。 请参阅备注。

返回值

类型: HICON

如果函数成功,则返回值是图标的句柄。

如果函数失败,则返回值为 NULL。 要获得更多的错误信息,请调用 GetLastError。

注解

若要确定图标的标称大小,请使用 GetSystemMetrics 函数,指定 SM_CXICONSM_CYICON 值。 此外,可以使用此 API 的 DPI 感知版本,请参阅 (GetSystemMetricsForDpi) (/windows/win32/api/winuser/nf-winuser-getsystemmetricsfordpi) 。 有关详细信息,请参阅 Windows 上的图标大小和高 DPI 桌面应用程序开发

有关 lpbANDbitslpbXORbits 参数的详细信息,请参阅 CreateBitmap 函数的 lpBits 参数的说明。

对于单色图标 ,CreateIcon 将以下真值表应用于 AND 和 XOR 位掩码:

AND 位掩码 XOR 位掩码 显示
0 0 黑色
0 1 White
1 0 屏幕
1 1 反向屏幕

使用完图标后,请使用 DestroyIcon 函数销毁它。

示例

有关示例,请参阅 创建图标

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

另请参阅

CreateIconIndirect

图标

图标大小