CustomCursor . カーソル
// icon ファイルを読み込む
nconvert
nconvert を使って icon ファイルを作成する。
nconvert -overwrite -resize 64px 64px -out ico D:/work/art/icon/cursor.png
nconvert -overwrite -resize 128px 128px -out ico D:/work/art/icon/cursor.png
以下のツールで、任意の画像からカーソルファイルを作成する。
http://www.wsims.com/cweissha/iconconverter/index.php?page=download
カーソル画像サイズと ホットポイント を指定して カーソル形式で出力する。
HICON hIcon = (HICON)LoadImage( 0, "d:/test.cur", IMAGE_CURSOR, 0, 0, LR_LOADFROMFILE );
case WM_SETCURSOR:
{
SetCursor( hIcon );
break;
}
icon ファイル構造体
---------------------------------------------------------------------------------------------
ファイルヘッダ IconFileHeader 6バイト
---------------------------------------------------------------------------------------------
0x0000 (2) icoReserved 予約 常に0
0x0002 (2) icoResourceType リソースタイプ 1 - アイコン 2 - カーソル
0x0004 (2) icoResourceCount アイコンの数
---------------------------------------------------------------------------------------------
IconInfoHeader (ICONDIRENTRY構造体)
---------------------------------------------------------------------------------------------
0x0006 (1) Width アイコンの幅 (0の場合は256ピクセル)
0x0007 (1) Height アイコンの高さ (0の場合は256ピクセル)
0x0008 (1) ColorCount カラー数 (256色以上なら0)
0x0009 (1) Reserved1 予約
0x000A (2) Reserved2 予約 (ホットスポットx座標)
0x000C (2) Reserved3 予約 (ホットスポットy座標)
0x000E (4) icoDIBSize アイコンファイルのサイズ
0x0012 (4) icoDIBOffset BitmapInfoHeaderまでのバイト数
---------------------------------------------------------------------------------------------