アイコンはビットマップとほとんど構造が同じであるので
ビットマップの説明と合わせて読んで理解して欲しい。
マスク処理・・・・・マスキングとも言う。
アイコンで透明にしたい部分にマスクをかける事によって
その部分が透明になる。
その具体的な例を以下に解説する。次の説明では5pxを例にしている。
ファイル構造・・・・アイコンファイルの構造はカーソルとほぼ同じであり
ビットマップファイルの構造とは基本的に同じである。
ただ、APIを使う上でこれといって必要ではないので説明は省略する。
要望があればファイルの構造の解説を追加する。
WindowsのプログラムではEXEやDLLファイルから抜き出して使うことが多い。
もちろんiconファイルを読み込むこともできるが、EXEファイルにリソースとして
組み込んでおき、APIで呼び出すほうのが簡単である。
(project1.exeを呼び出した例)
| 関数名 | 機能 | Sample |
| アイコン | ||
| CopyIcon | 別のモジュールのリソースに含まれるアイコンのコピーを作成する | なし |
| CreateIcon | ビットパターンの組み合わせでアイコンを作成する | なし |
| CreateIconFromResource | リソースからアイコン、または、カーソルを作成する | なし |
| CreateIconFromResourceEx | リソースからアイコン、または、カーソルを作成する | なし |
| CreateIconIndirect | ICONINFO構造体の基づいてアイコン、またはカーソルを作成する | なし |
| DestroyIcon | アイコンのハンドルを解放する | なし |
| DrawIcon | アイコンを描画する | なし |
| DrawIconEx | アイコンを拡大・縮小して描画する | なし |
| ExtractAssociatedIcon | 指定のファイルの拡張子に関連付けた実行ファイルのアイコンのハンドルを取得する | あり |
| ExtractIcon | 実行モジュールからアイコンのハンドルを取得する | なし |
| ExtractIconEx | 実行モジュールに含まれる大小のアイコンのハンドルを取得する | なし |
| GetIconInfo | アイコン、またはカーソルに関するICONINFO構造体を取得する | なし |
| LookupIconIdFromDirectory | アイコン・カーソルリソースからディスプレイにマッチした アイコン・カーソルのリソースIDを取得する | なし |
| LookupIconIdFromDirectoryEx | 条件を設定してアイコン・カーソルのリソースからディスプレイにマッチした アイコン・カーソルのリソースIDを取得する | なし |