OrangeMaker_logo
memo アイコン VS2008/VS2010 備忘録

 VisualStudio2008/2010関連でちょっとしたメモを記録します。
  (記載内容について正しい保障があるものではありませんのでご注意ください。)

ロードモジュールのフリー版とシェア版でアイコンを切り替える

 ビルド対象単位、たとえばフリー版とシェア版の実行プログラムのアイコンを切り替える方法。

通常メインのアイコンは、IDR_MAINFRAMEで定義されたアイコンを実行モジュールのデフォルトアイコンとして使用されます。これを生成する版(ビルド)毎に切り替えたい場合は条件付きの定義とすればビルド単位でそれぞれ異なるアイコンをロードすることが可能です。

条件付き定義を行うとリソースを表示したときに以下のような表示になります。(窓の付箋PLUSの例)

リソース 同じリソースID 「IDR_MAINFRAME」をマクロ[_FREE]、または_NOFREE]が定義されている場合にそれぞれ有効となるように設定します。

この定義はアイコンのプロパティ設定の[condition]で設定します。

アイコンプロパティ リソースのアイコンのプロパティのアイテムConditionに_FREEを設定する

そして、_FREE自体の定義はプロジェクトの「プロパティ設定」-「リソース」-「全般」でプリプロセッサの項目に_FREEを設定する。

プロジェクトプロパティ設定

この定義をビルド単位で行えばそれぞれのビルドで異なるアイコンがロードされます。