ビットパターンの組み合わせでアイコンを作成する
Declare Function CreateIcon Lib "user32.dll" _
(ByVal hInstance As Long, ByVal nWidth As Long, _
ByVal nHeight As Long, ByVal cPlanes As Byte, _
ByVal cBitsPixel As Byte, lpbANDbits As Any, _
lpbXORbits As Any) As Long
Declare Function CreateIcon Lib "user32.dll" _
(ByVal hInstance As Integer, ByVal nWidth As Integer, _
ByVal nHeight As Integer, ByVal cPlanes As Byte, _
ByVal cBitsPixel As Byte, lpbANDbits As Integer, _
lpbXORbits As Integer) As Integer
HICON CreateIcon(
HINSTANCE hInstance,
int nWidth,
int nHeight,
BYTE cPlanes,
BYTE cBitsPixel,
CONST BYTE *lpbANDbits,
CONST BYTE *lpbXORbits
);
引数
hInstance
アプリケーションのインスタンスハンドルnWidth
アイコンの幅nHeight
アイコンの高さcPlanes
カラープレーン数cBitsPixel
ピクセルあたりのビット数lpbANDbits
ANDビットデータを格納するバイト配列lpbXORbits
同、XOR戻り値
正常終了のとき アイコンのハンドル備考
エラーのとき 0
nWidthとnHeightは、現在のディスプレイドライバがサポートするサイズで
なければならない。サイズはGetSystemMetrics()関数でSM_CXICON
SM_CYICONフラッグを使用して調べる。
lpbANDbitsとlpbXORbitsを取得する方法は場合によって異なるが
GetDIBits()関数を使用すると簡単である。
ハンドルは不要になった時点でDestroyIcon()関数で削除する。