

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
resource.hとは?
resource.hは、Windows向けの C/C++ プロジェクトで使われるヘッダファイルです。主な役割は、アプリケーションが扱う“リソース”の識別子(ID)を定義することです。リソースとは、アイコンやダイアログ、文字列、ビットマップなど、アプリの見た目や機能を構成する部品のことを指します。resource.hに定義されたIDは、後述のリソース定義ファイル(.rc)やソースコード内で参照され、リソースを一意に識別します。
resource.hが担う役割
リソースは多くの場所で使われます。resource.hの主な役割は、これらのIDを“一箇所で管理”することです。たとえば、アイコンID、ボタンのID、文字列のIDなどを同じファイルで定義しておくと、コードの変更時にもID名を覚えやすく、重複を避けやすくなります。IDの一元管理により、後から新しいリソースを追加する際の衝突を減らせます。
使い方の基本
使い方はシンプルです。まずリソースを追加するとき、.rcファイルやダイアログ編集ウィザードなどがIDを要求します。そのとき、resource.hに定義したIDを参照します。実務では次のような流れになります。
- リソースを追加する → resource.hに新しいIDを作成
- RCファイルでそのIDをリソースに紐づけ
- ソースコードでリソースを読み込むとき、同じIDを参照
実際の例を見てみましょう。以下は resource.h によく見られる定義の例です。
| 名前 | 意味 |
|---|---|
| IDI_APP_ICON | アプリのアイコンID |
| IDR_MAINFRAME | アプリのメインリソースID |
| IDS_APP_TITLE | アプリのタイトル文字列ID |
| IDC_BUTTON_OK | OKボタンのID |
| IDC_BUTTON_CANCEL | キャンセルボタンのID |
補足として、#defineを使って ID を割り当てるのが一般的です。例えば、#define IDC_BUTTON_OK 1001のように記述します。こうしておくと、rc ファイルやコード側で 一貫した名称でリソースを参照できます。
resource.hと.rcファイルの関係
resource.hは.rcファイルと組み合わせて機能します。rc ファイルはリソースの定義自体を記述するファイルです。rc ファイルの冒頭で #include "resource.h"と記述することで、rc 内で使うリソースIDを resource.h から取得します。これにより、C/C++ のソースコードと_rcファイルで、同じIDを共通して参照できるようになります。
初心者が陥りやすいミスと対策
初心者がよくするミスには、IDの重複、番号の衝突、命名規則の不統一があります。対策としては、命名規則を決めて統一すること、新規リソース追加時は必ず resource.h に追記すること、そして可能であれば IDE の自動生成機能を活用することが挙げられます。
まとめと次のステップ
資源を管理するための重要なファイルがresource.hです。このファイルを活用することで、リソースIDの管理が楽になり、UI の変更時にも混乱を避けられます。初心者はまず ID の定義と RC ファイルの紐づけをセットで学ぶと理解が深まります。実際に手を動かして、IDの定義→RCファイルの紐づけ→コードからの参照の流れを体感してみてください。
resource.hの同意語
- リソースヘッダ
- リソースの識別子を定義するヘッダファイルを指す総称。一般には resource.h の役割を示す。
- リソースIDヘッダ
- リソースのID(識別子)を宣言・定義するヘッダファイルを指す表現。
- リソースID定義ヘッダ
- リソースIDを定義するためのヘッダファイルの呼び方。
- リソース識別子ヘッダ
- リソースの識別子を定義するヘッダファイルを指す別称。
- リソース定義ヘッダ
- リソースのID定義を集約したヘッダファイルの意味。
- リソース定義ファイル
- リソースID定義を含むファイル自体を指す表現。文脈によって resource.h を指すこともある。
- リソース識別ヘッダ
- リソースの識別子を定義するヘッダファイルを指す表現。
- リソースヘッダファイル
- resource.h の機能を表す、ヘッダファイルとしての名称の別表現。
- 資源ヘッダ
- 資源という漢字表記の別称。技術文書ではやや不自然な場合もあるが同義語として使われることがある。
- リソース定義ファイルヘッダ
- リソースの定義を含むファイルのヘッダ部を指す表現。
- リソースIDファイル
- リソースIDを含むファイルの総称。ヘッダ以外のファイル名にも使われることがある。
resource.hの対義語・反対語
- 非リソース
- リソースとして扱われる要素を含まない。アイコン・メニュー定義・文字列リソースなどのリソース定義を含まないファイルのことを指します。
- 資源なし
- リソースが全く含まれていない状態。画像やアイコン、文字列リストなどを定義・参照していないファイル・カテゴリを意味します。
- リソースフリー
- リソースを使わない設計方針。リソース依存を避け、別の方法で機能を実現する考え方を指します。
- コード中心ヘッダ
- リソース定義を含まず、関数宣言やコード実装を中心に置くヘッダファイルのこと。
- 機能ヘッダ
- リソースよりも機能の宣言・定義を重視するヘッダファイルの意味合い。
- 純粋コードファイル
- リソース関連の定義を含まず、純粋にコードだけを集約したファイルのこと。
- リソース外部化ファイル
- リソースを外部ファイルとして分離・管理する設計方針を指します。
- リソース参照なし
- ファイル内にリソースIDの宣言・参照がない状態。
resource.hの共起語
- resource.h
- Windowsアプリでリソース識別子を定義するヘッダファイル。IDxxxマクロとして各リソースを一意に識別する整数を並べます。
- IDD_DIALOG
- ダイアログリソースのID。ダイアログのテンプレートを参照する識別子です。
- IDC_BUTTON
- ダイアログ内のコントロールID。ボタンや入力欄などの識別に使われます。
- IDS_STRING
- 文字列リソースのID。GetStringやLoadStringで文字列を取得します。
- IDI_ICON
- アイコンリソースのID。アプリのアイコン設定に使用されます。
- IDB_BITMAP
- ビットマップリソースのID。画像ファイルをアプリ内に組み込む際に使います。
- IDR_MENU
- メニューリソースのID。アプリのメニュー定義を参照します。
- IDR_ACCELERATOR
- アクセラレータ(ショートカットキー)リソースのID。
- RT_DIALOG
- リソースタイプの一つ。ダイアログテンプレートを表します。
- RT_ICON
- リソースタイプの一つ。アイコンリソースを表します。
- RT_BITMAP
- リソースタイプの一つ。ビットマップリソースを表します。
- RT_STRING
- リソースタイプの一つ。文字列リソースを表します。
- RT_RCDATA
- 任意の生データを格納するリソースタイプ。
- RT_VERSION
- バージョン情報リソース。アプリのバージョン情報を格納します。
- RC_FILE
- .rc ファイル(リソーススクリプト)に関する用語。
- RC_EXE
- rc.exe、Windowsのリソースコンパイラ。
- MAKEINTRESOURCE
- ID をリソースアクセス用ポインタに変換するマクロ。
- FindResource
- 指定されたリソースを検索するWinAPI。
- LoadResource
- 見つかったリソースをメモリにロードするWinAPI。
- LoadString
- 文字列リソースをプログラムに取り出すWinAPI。
- INCLUDE_RESOURCE_H
- "#include \"resource.h\"" の形で resource.h を取り込むこと。
- Visual_Studio
- Windowsアプリ開発で広く使われる統合開発環境。
- Win32_API
- Windows の基本的なAPI群。Resource操作にも使われます。
- HINSTANCE
- アプリケーションのインスタンスハンドル。リソース読み込みなどに使用。
- IDVALUE_RANGE
- リソースIDは通常整数で表現され、各種IDはIDxxxプレフィックス(IDD_, IDC_, IDS_など)で分類されます。
resource.hの関連用語
- resource.h
- WindowsアプリでリソースIDを定義するヘッダーファイル。ダイアログ、アイコン、文字列、メニューなどのリソースを識別する整数IDをマクロとして列挙します。コードや.rcファイルからこのIDを参照します。
- リソーススクリプト
- リソースを定義するためのファイル形式。拡張子は .rc。ダイアログ、アイコン、文字列、メニューなどのリソースタイプとIDを宣言し、resource.h のIDを参照して資源を登録します。
- リソースコンパイラ
- rc.exe などのツール。.rc ファイルをコンパイルして .res という中間リソースファイルを生成します。リンク時に実行ファイルへ組み込まれます。
- ID (Resource Identifier)
- リソースを一意に識別する整数値。通常 resource.h で #define して管理します。
- IDD
- ダイアログのID。ダイアログテンプレートを参照する際に使われます。
- IDI
- アイコンのID。アプリのアイコンを指定するための識別子です。
- IDM
- メニューリソースのID。アプリのメニューを識別するためのIDです。
- IDS
- 文字列リソースのID。文字列テーブルから文字列を取得する際に使用します。
- IDR
- 汎用リソースIDの接頭辞。メニュー、アクセラレータ、バージョン情報など、複数タイプのリソースで使われます。
- IDB
- ビットマップリソースのID。画像データをリソースとして埋め込むときに使います。
- IDC
- ダイアログ内のコントロールID。ボタンやテキストボックスなどを識別します。
- IDC_STATIC
- 静的コントロールの標準ID。説明用の表示要素などに使います。
- RT_DIALOG
- ダイアログテンプレートのリソースタイプ。ダイアログ構成を表します。
- RT_ICON
- アイコンリソースのリソースタイプ。RT_ICONとして格納します。
- RT_BITMAP
- ビットマップリソースのリソースタイプ。ビットマップ画像を格納します。
- RT_STRING
- 文字列テーブルリソースのリソースタイプ。複数の文字列を格納します。
- RT_VERSION
- バージョン情報リソースのリソースタイプ。VS_VERSION_INFO を含み、ファイル情報を格納します。
- RT_MENU
- メニューリソースのリソースタイプ。メニューバーやポップアップメニューを定義します。
- RT_ACCELERATOR
- アクセラレータ(ショートカットキー)リソースのリソースタイプ。キーと対応するコマンドを定義します。
- Version Information Resource
- アプリのファイルバージョン、製品名、会社名などを格納するリソース。言語コードや配置情報も含みます。
- Dialog Template
- ダイアログのレイアウトとコントロール配置を定義するテンプレート。実行時にダイアログが表示される際の設計図となります。
- Menu Template
- メニューの構造と項目を定義するテンプレート。実行時のメニュー表示に影響します。
- String Table
- 複数の文字列を格納するリソース。IDS_ 系のIDを用いて文字列を取得します。多言語対応時にも活用されます。
- Icon Resource
- アプリのアイコンを埋め込むリソース。ICO形式のデータを RT_ICON として格納します。
- Bitmap Resource
- ビットマップ画像を埋め込むリソース。BMPデータをリソースとして組み込みます。
- Cursor Resource
- カーソルを埋め込むリソース。CUR形式のデータを RT_CURSOR として格納します。
- Accelerator Table
- ショートカットキーの割り当てを定義するリソース。特定のキー操作とコマンドを紐づけます。



















