方法: コンパイル時にリソースをインクルードする (C++)
既定では、すべてのリソースは 1 つのリソース スクリプト (.rc) ファイルに配置されます。ただし、メインの .rc ファイル以外のファイルにリソースを配置するには、以下のように複数の理由があります。
リソース ステートメントに、.rc ファイルを保存するときに削除されないコメントを追加する。
開発とテストが既に完了していて、さらに変更する必要のないリソースをインクルードする。 インクルードされるファイルのうち、.rc 拡張子を持たないファイルは、リソース エディターで編集できません。
さまざまなプロジェクトで使用されているリソース、またはソース コードのバージョン管理システムの一部であるリソースをインクルードする。 これらのリソースは、変更がすべてのプロジェクトに影響を与える中央の場所に存在する必要があります。
カスタム形式のリソース (たとえば、RCDATA リソース) をインクルードする。 RCDATA リソースには、
nameID
フィールドの値として式を使用できないという特別な要件があります。
既存の .rc ファイル内にこれらのいずれかの条件を満たすセクションがある場合は、対象のセクションを 1 つ以上の別個の .rc ファイルに配置し、[リソース インクルード] ダイアログ ボックスを使用して、プロジェクトにインクルードします。
リソースのインクルード
[リソース インクルード] ダイアログ ボックスの [コンパイル時に追加するファイル] ボックスの一覧に登録することによって、コンパイル時に他のファイルからプロジェクトにリソースを追加することができます。 [リソース インクルード] ダイアログ ボックスを使用して、プロジェクト環境の通常の動作形態を変更することができます。通常は、すべてのリソースがプロジェクト .rc ファイルに格納され、すべてのシンボルが Resource.h
に格納されます。
開始するには、[リソース ビュー] で .rc ファイルを右クリックして [リソース インクルード] ダイアログ ボックスを開き、[リソース インクルード] を選択し、次のプロパティをメモします。
プロパティ | 説明 |
---|---|
シンボル用のヘッダー ファイル | リソース ファイルのシンボル定義が格納されているヘッダー ファイルの名前を変更することができます。 詳細については、「シンボル ヘッダー ファイル名の変更」を参照してください。 |
読み取り専用ヘッダー ファイル | 変更してはならないシンボルが格納されているヘッダー ファイルをインクルードすることができます。 たとえば、他のプロジェクトと共有するシンボル ファイルなどです。 これには、MFC の .h ファイルをインクルードすることもできます。 詳細については、「共有シンボル (読み取り専用) または計算型シンボルのインクルード」を参照してください。 |
コンパイル時に追加するファイル | メイン リソース ファイルのリソースとは別に作成および編集されたリソース ファイルをインクルードしたり、コンパイル時ディレクティブ (たとえば、条件付きでリソースをインクルードするディレクティブなど) を含めたり、カスタム形式のリソースを含めたりすることができます。 また、[コンパイル時に追加するファイル] ボックスを使用して、標準 MFC リソース ファイルをインクルードすることもできます。 |
Note
これらのテキスト ボックス内のエントリは、.rc ファイル内にそれぞれ TEXTINCLUDE 1
、TEXTINCLUDE 2
、および TEXTINCLUDE 3
でマークされて存在します。 詳細については、「テクニカル ノート 35: Visual C++ における複数のリソース ファイルとヘッダー ファイルの使用」を参照してください。
[リソース インクルード] ダイアログ ボックスを使用してリソース ファイルを変更した後、変更内容を有効にするには、.rc ファイルを閉じてから再度開く必要があります。
コンパイル時にリソースをインクルードするには
一意のファイル名を持つリソース スクリプト ファイルにリソースを配置します。 projectname.rc は使用しないでください。これは、メイン リソース スクリプト ファイルに使用されるファイルの名前です。
[リソース ビュー] で .rc ファイルを右クリックし、[リソース インクルード] を選択します。
[コンパイル時に追加するファイル] ボックスで、#include コンパイラ ディレクティブを追加して、メイン リソース ファイル内の新しいリソース ファイルを開発環境にインクルードします。
この方法でインクルードされるファイル内のリソースは、コンパイル時にのみ実行可能ファイルの一部になり、プロジェクトのメイン .rc ファイルで作業している場合、編集や変更には使用できません。 インクルードされている .rc ファイルは個別に開く必要があります。 .rc 拡張子なしでインクルードされているファイルは、リソース エディターでは編集できません。
特定のリソース (.rc) ファイルのインクルード ディレクトリを指定するには
ソリューション エクスプローラーで .rc ファイルを右クリックし、[プロパティ] を選択します。
左側のペインの [リソース] ノードを選択し、[追加のインクルード ディレクトリ] プロパティで追加するインクルード ディレクトリを指定します。
リソース内のシンボルを検索するには
メニューの [編集]>[シンボルの検索] に進みます。
ヒント
検索で正規表現を使用するには、[シンボルの検索] ではなく、[編集] メニューの [フォルダーを指定して検索] を選択します。 [検索] ダイアログ ボックスで [正規表現の使用] チェック ボックスをオンにし、[検索する文字列] ボックスでドロップダウン リストから検索の正規表現を選択できます。 このリストで正規表現を選択すると、[検索する文字列] ボックスの検索文字列として設定されます。
[検索する文字列] ボックスのドロップダウン リストから以前の検索文字列を選択するか、または「
ID_ACCEL1
」のように、検索するアクセラレータ キーを入力します。[検索] オプションのいずれかを選択し、[次を検索] を選択します。
Note
文字列リソース、アクセラレータ リソース、またはバイナリ リソース内のシンボルは検索できません。
要件
Win32