CreateIcon function

Creates an icon that has the specified size, colors, and bit patterns.

Syntax

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

Parameters

hInstance

Type: HINSTANCE

A handle to the instance of the module creating the icon.

nWidth

Type: int

The width, in pixels, of the icon.

nHeight

Type: int

The height, in pixels, of the icon.

cPlanes

Type: BYTE

The number of planes in the XOR bitmask of the icon.

cBitsPixel

Type: BYTE

The number of bits-per-pixel in the XOR bitmask of the icon.

lpbANDbits

Type: const BYTE*

An array of bytes that contains the bit values for the AND bitmask of the icon. This bitmask describes a monochrome bitmap.

lpbXORbits

Type: const BYTE*

An array of bytes that contains the bit values for the XOR bitmask of the icon. This bitmask describes a monochrome or device-dependent color bitmap.

Return Value

Type: HICON

If the function succeeds, the return value is a handle to an icon.

If the function fails, the return value is NULL. To get extended error information, call GetLastError.

Remarks

The nWidth and nHeight parameters must specify a width and height supported by the current display driver, because the system cannot create icons of other sizes. To determine the width and height supported by the display driver, use the GetSystemMetrics function, specifying the SM_CXICON or SM_CYICON value.

CreateIcon applies the following truth table to the AND and XOR bitmasks.

AND bitmask XOR bitmask Display
0 0 Black
0 1 White
1 0 Screen
1 1 Reverse screen
 

When you are finished using the icon, destroy it using the DestroyIcon function.

Examples

For an example, see Creating an Icon.

Requirements

   
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll

See Also

Conceptual

GetSystemMetrics

Icons

Other Resources