次の方法で共有


TN023: 標準 MFC リソース

このメモでは、MFC ライブラリで提供され、必要な標準リソースについて説明します。

標準リソース

MFC には、アプリケーションで使用できる定義済みリソースの 2 つのカテゴリ (クリップ アート リソースと標準フレームワーク リソース) が用意されています。

クリップ アート リソースは、フレームワークが依存していない追加のリソースですが、アプリケーションのユーザー インターフェイスに追加することもできます。 MFC General サンプル CLIPART には、次のクリップ アート リソースが含まれています。

  • Common.rc: 次を含むリソースの 1 つのファイル。

    • さまざまなビジネス タスクとデータ処理タスクを表すアイコンの大規模なコレクション。

    • いくつかの一般的なカーソル (Afxres.rc も参照)。

    • 複数のツール バー ボタンを含むツール バー ビットマップ。

    • Commdlg.dllによって使用されるビットマップリソースとアイコン リソース。

  • Indicate.rc: Caps Lock の "CAP" など、ステータス バーのキー状態インジケーターの文字列リソースが含まれています。

  • Prompts.rc: ID_FILE_NEWの "新しいドキュメントの作成" など、定義済みの各コマンドのメニュー プロンプト文字列リソースが含まれています。

  • Commdlg.rc: 標準の COMMDLG ダイアログ テンプレートを含む Visual C++ 互換の .rc ファイル。

標準フレームワーク リソースは、フレームワークが内部実装に依存する AFX 定義 ID を持つリソースです。 これらの AFX で定義されたリソースを変更する必要はほとんどありません。 その場合は、このトピックで後述する手順に従う必要があります。

MFC\INCLUDE ディレクトリには、次のフレームワーク リソースが含まれています。

  • Afxres.rc: フレームワークによって使用される一般的なリソース。

  • Afxprint.rc: 印刷に固有のリソース。

  • Afxolecl.rc: OLE クライアント アプリケーションに固有のリソース。

  • Afxolev.rc: 完全な OLE サーバー アプリケーションに固有のリソース。

Clip-Art リソースの使用

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

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

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

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

他のクリップ アート リソースを使用するには、同じ手順に従います。 唯一の違いは、Common.rc の代わりに適切な .rc ファイルを開くということです。

意図せずに Common.rc からリソースを永続的に移動しないように注意してください。 Ctrl キーを押しながらリソースをドラッグすると、コピーが作成されます。 ドラッグ中に Ctrl キーを押したままにしないと、リソースが移動します。 Common.rc ファイルに誤って変更を加えた可能性がある場合は、変更を Common.rc に保存するかどうかを確認するメッセージが表示されたら、[いいえ] をクリックします。

.rc リソース ファイルには特別な TEXTINCLUDE リソースが含まれており、標準の .rc ファイルの上に誤って保存されるのを防ぎます。

Standard Framework リソースのカスタマイズ

標準フレームワーク リソースは、通常、アプリケーションのリソース ファイルで #include コマンドを使用してアプリケーションに含まれます。 AppWizard によってリソース ファイルが生成されます。 このファイルには、選択した AppWizard オプションに応じて、適切な標準フレームワーク リソースが含まれます。 コンパイル時ディレクティブを変更することで、含まれているリソースを確認、追加、または削除できます。 これを行うには、[ リソース ] メニューを開き、[ インクルードの設定] を選択します。 "コンパイル時ディレクティブ" 編集項目を確認してください。 例えば次が挙げられます。

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

標準フレームワーク リソースをカスタマイズする最も一般的なケースは、印刷、OLE クライアント、および OLE Server のサポートのための追加のインクルードを追加または削除することです。

まれに、ファイル全体を追加および削除するだけでなく、特定のアプリケーションの標準フレームワーク リソースの内容をカスタマイズすることが必要になる場合があります。 次の手順では、含まれるリソースを制限する方法を示します。

標準リソース ファイルの内容をカスタマイズするには
  1. Visual C++ でリソース ファイルを開きます。

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

  3. MFC\INCLUDE で適切な標準リソース ファイルを開きます。 このトピックの前の例に従って、適切なファイルは MFC\Include\Aafxprint.rc です。

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

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

標準の .rc ファイル内のリソースを直接変更しないでください。 これにより、現在作業しているアプリケーションだけでなく、すべてのアプリケーションで使用可能なリソースが変更されます。

こちらも参照ください

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