私が知る、リソーススクリプト用のヘッダーファイルのまとめです。
- afxres.h
- MFCのヘッダーファイルです。winres.hをインクルードしています。リソースID用の定数を多数定義しています。その中にはAFX_IDW_TOOLBARなどAFXで始まるものもあれば、ID_FILE_NEWのように汎用的に使えそうなものもあります。
- atlres.h
- WTLのヘッダーファイルです。Visual Studioの付属品ではありません。winresrc.hをインクルードしています。afxres.hのように、リソースID用の定数を多数定義しています。ATL/WTL用にATL_IDW_TOOLBARなどATLで始まるものもあります。そのほか、VS_VERSION_INFOやIDC_STATIC、ID_FILE_NEWなど、winres.hやafxres.hと同等のものも定義されています。
- winres.h
- 前回の記事に書いたとおり、以前はMFC扱いでしたが、今はWindows SDKに収録されています。winresrc.hをインクルードしています。定数VS_VERSION_INFOと定数IDC_STATICの定義があります。
- winresrc.h, windows.h
- Windows SDKあるいはPlatform SDKに昔からあります。どちらをインクルードしても同じです。リソースコンパイル時のwindows.hは、winresrc.hをインクルードするようになっているためです。
以下、細々とした話です。
- Visual Studioのリソースエディタでダイアログにスタティックコントロールを設置すると、リソースIDがIDC_STATICになります。そのため、Visual Studioでデスクトップアプリを作るなら、windows.hやwinresrc.hでは足りません。それ以外を使用するのが良いでしょう。
- 最近のVisual Studioでは、デフォルトのオプションだとMFCが入りません(C++自体もそうですけど)。MFCが入っていないということはafxres.hもありません。アプリ自体でMFCを使っていない場合、afxres.h以外を使うのがおすすめです。
- winres.hはWindows SDKにはありますが、現在のところMinGW-w64にはないようです: /mingw-w64-headers (Tag v5.0.1)。
このラインナップ、私が認識しているものを並べたものです。なので、Visual StudioやWindows SDKに入っていないatlres.hを含めています。
スポンサード リンク |
この記事のカテゴリ
- Windows ⇒ WinAPI ⇒ Windowsリソース ⇒ リソース関係のヘッダーファイルまとめ