次の方法で共有


テクニカル ノート 23: MFC の標準リソース

更新 : 2007 年 11 月

ここでは MFC ライブラリが使用する標準リソースについて説明します。

標準リソース

MFC にはアプリケーションから利用できる定義済みリソースが用意されています。これらのリソースはクリップアート リソースと標準フレームワーク リソースに分類されます。

クリップアート リソースは補助的なリソースであり、フレームワークでは必要ありませんが、アプリケーションのユーザー インターフェイスに追加すると便利です。次のクリップ アート リソースが『MFC サンプル』の「CLIPART サンプル : コモン リソース」にあります。

  • Common.rc: 次のリソースを含む単一のファイルです。

    • ビジネスとデータ処理に関するさまざまなアイコン

    • 数種類の一般的なカーソル (Afxres.rc も参照してください)

    • 数種類のツール バー ボタンを持つツール バー ビットマップ

    • Commdlg.dll が使用するビットマップとアイコン リソース

  • Indicate.rc: ステータス バーに表示される、キー状態を表す文字列リソース ([CapsLock] を表す "CAP" など) が納められています。

  • Prompts.rc: 各定義済みコマンドに対するメニュー プロンプト文字列リソース (ID_FILE_NEW に対する "新規にファイルを作成" など) が納められています。

  • Commdlg.rc: COMMDLG 標準ダイアログ テンプレートが納められている Visual C++ 互換 .rc ファイルです。

標準フレームワーク リソースは AFX で定義されている ID を持つリソースです。これらはフレームワークを使用するうえで必要となるリソースです。通常、これらのリソースを変更する必要はありません。変更する場合は後に示す手順に従ってください。

次のフレームワーク リソースがフォルダ MFC\INCLUDE にあります。

  • Afxres.rc: フレームワークが使用する一般的なリソースです。

  • Afxprint.rc: 印刷処理で利用されるリソースです。

  • Afxolecl.rc: OLE クライアント アプリケーションで利用されるリソースです。

  • Afxolev.rc: OLE フル サーバー アプリケーションで利用されるリソースです。

クリップ アートのバイナリ リソースを使用するには

  1. Visual C++ で、作成するアプリケーションのリソース ファイルを開きます。

  2. Common.rc を開きます。このファイルには、すべてのバイナリ クリップ アート リソースが含まれています。このとき、Common.rc ファイルをコンパイルするために多少の時間がかかります。

  3. Ctrl キーを押しながら、使用するリソースを Common.rc からアプリケーションのリソース ファイルにドラッグします。

他のクリップ アート リソースを使用する場合も、手順は同じです。ただし、Common.rc の代わりに、該当する .rc ファイルを開いてください。

fy6fte8a.alert_note(ja-jp,VS.90).gifメモ :

Common.rc 中のリソースを他の場所に移動してしまわないように注意してください。Ctrl キーを押しながらリソースをドラッグすると、コピーが作成されます。Ctrl キーを押さずにドラッグすると、リソースは元の場所から削除されます。Common.rc ファイルを間違って変更してしまうことがないように、Common.rc の変更を保存するかどうかを確認する画面が表示されたら、[いいえ] をクリックしてください。

fy6fte8a.alert_note(ja-jp,VS.90).gifメモ :

.rc リソース ファイルには特殊なリソース TEXTINCLUDE が含まれています。このリソースは、誤って標準 .rc ファイルにリソースが保存されないようにするために使用されます。

標準フレームワーク リソースのカスタマイズ

通常、標準フレームワーク リソースをアプリケーションに組み込むには、アプリケーションのリソース ファイルで #include コマンドを使用します。リソース ファイルは、AppWizard によって生成できます。選択した AppWizard オプションに基づいて、該当する標準フレームワーク リソースがリソース ファイルに組み込まれます。コンパイル時ディレクティブを変更することによって、組み込むリソースの確認、追加、削除を行うこともできます。そのためには、[リソース] メニューを開いて [インクルードの設定] を選択します。"コンパイル時ディレクティブ" という編集項目を参照してください。次に例を示します。

#include "afxres.rc"
#include "afxprint.rc"

カスタマイズによって追加、削除することが多い標準フレームワーク リソースとしては、印刷用リソース、OLE クライアント用リソース、OLE サーバー用リソースなどがあります。

特定のアプリケーションを作成するときは、単なるファイルの追加、削除ではなく、標準フレームワーク リソースの内容のカスタマイズが必要になることもあります。組み込むリソースを制限する方法を次に示します。

標準リソース ファイルの内容をカスタマイズするには

  1. Visual C++ でリソース ファイルを開きます。

  2. [リソース] の [インクルードの設定] コマンドを使用して、カスタマイズする標準 .rc ファイルの #include を削除します。たとえば、印刷プレビュー ツール バーをカスタマイズする場合は、#include "afxprint.rc" という行を削除します。

  3. MFC\INCLUDE にある対象の標準リソース ファイルを開きます。先ほどの例では、MFC\Include\Aafxprint.rc ファイルです。

  4. 標準 .rc ファイルのすべてのリソースをアプリケーションのリソース ファイルにコピーします。

  5. アプリケーション リソース ファイルにコピーした標準リソースに変更を加えます。

fy6fte8a.alert_note(ja-jp,VS.90).gifメモ :

標準 .rc ファイルのリソースを直接変更しないようにしてください。変更してしまうと、現在作成しているアプリケーションだけでなく、すべてのアプリケーションで利用できるリソースが変わってしまいます。

参照

その他の技術情報

番号順テクニカル ノート

カテゴリ別テクニカル ノート