---
name: "CreateIcon"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/CreateIcon"
---

# CreateIcon(3w)

## NAME

**CreateIcon** (USER32.@)

## SYNOPSIS

HICON CreateIcon\
  (\
   HINSTANCE *hInstance*,\
   INT       *nWidth*,\
   INT       *nHeight*,\
   BYTE      *bPlanes*,\
   BYTE      *bBitsPixel*,\
   LPCVOID   *lpANDbits*,\
   LPCVOID   *lpXORbits*\
  )

## PARAMS

*hInstance* **\[In\]**  the application's *hInstance*.

*nWidth* **\[In\]**  the width of the provided bitmaps.

*nHeight* **\[In\]**  the height of the provided bitmaps.

*bPlanes* **\[In\]**  the number of planes in the provided bitmaps.

*bBitsPixel* **\[In\]**  the number of bits per pixel of the *lpXORbits* bitmap.

*lpANDbits* **\[In\]**  a monochrome bitmap representing the icon's mask.

*lpXORbits* **\[In\]**  the icon**'s '**color' bitmap.

## DESCRIPTION

Creates an icon based on the specified bitmaps. The bitmaps must be provided in a device dependent format and will be resized to (**SM\_CXICON**,SM\_CYICON) and depth converted to match the screen's color depth. The provided bitmaps must be top-down bitmaps. Although Windows(tm) does not support 15bpp(\*) this Api must support it for Winelib applications.

(\*) Windows(tm) does not support 15bpp but it supports the **555** **RGB** 16bpp format!.

## RETURNS

**Success:** handle to an icon

**Failure:** **NULL**.

**FIXME:** Do we need to resize the bitmaps?

## IMPLEMENTATION

Declared in **"winuser.h"**.

Implemented in **"dlls/user32/cursoricon.c"**.

Debug channel **"cursor"**.
