フリーソフト

プログラミング全般

アイコン・カーソル リソースについて

グループアイコン(RT_GROUP_ICON)やグループカーソル(RT_GROUP_CURSOR)のデータ構造に関する情報です。

まず最初に全体のヘッダ情報。

struct NEWHEADER {
  WORD Reserved;
  WORD ResType;
  WORD ResCount;
} NEWHEADER, *PNEWHEADER;
NEWHEADER NewHeader;

ResTypeにはアイコンならRES_ICON、カーソルならRES_CURSOR。
ResCountには入っているリソースの個数。

ヘッダに続いて以下のデータがリソースの個数だけ続く。

typedef struct tagRESDIR {
  union {
  ICONRESDIR   Icon;
  CURSORDIR    Cursor;
  } ResInfo;
  WORD    Planes;
  WORD    BitCount;
  DWORD   BytesInRes;
  WORD  IconCursorId;
} RESDIR;

Planesはカラープレーン数。
BitCountは1ピクセルあたりのビット数。
BytesInResはリソースのサイズ。
IconCursorIdはリソースのID。

struct ICONRESDIR {
  BYTE Width;
  BYTE Height;
  BYTE ColorCount;
  BYTE reserved;
} ICONRESDIR;

Widthはアイコンの幅。
Heightはアイコンの高さ。
ColorCountは色数。255色以上の場合は0が入る。

struct CURSORDIR {
  WORD Width;
  WORD Height;
} CURSORDIR;

Widthはカーソルの幅。
Heightはカーソルの高さ。