このカテゴリの Microsoft Foundation クラス ライブラリ (MFC) クラスは、MFC アプリケーションのアーキテクチャに影響します。 ほとんどのアプリケーションに共通する機能を提供します。 フレームワークに入力して、アプリケーション固有の機能を追加します。 通常、これを行うには、アーキテクチャ クラスから新しいクラスを派生させ、新しいメンバーを追加するか、既存のメンバー関数をオーバーライドします。
アプリケーション ウィザードでは 複数の種類のアプリケーションが生成され、そのすべてが異なる方法でアプリケーション フレームワークを使用します。 SDI (単一ドキュメント インターフェイス) アプリケーションと MDI (複数のドキュメント インターフェイス) アプリケーションは、フレームワークのドキュメント/ビュー部分をフルに活用します。 ダイアログ ベースのアプリケーション、フォーム ベースのアプリケーション、DLL など、他の種類のアプリケーションでは、ドキュメント/ビュー アーキテクチャ機能の一部のみを使用します。
ドキュメント/ビュー アプリケーションには、1 つ以上のドキュメント、ビュー、フレーム ウィンドウのセットが含まれています。 ドキュメント テンプレート オブジェクトは、各ドキュメント/ビュー/フレーム セットのクラスを関連付けます。
MFC アプリケーションでドキュメント/ビュー アーキテクチャを使用する必要はありませんが、これを行うには多くの利点があります。 MFC OLE コンテナーとサーバーのサポートは、印刷と印刷プレビューのサポートと同様に、ドキュメント/ビュー アーキテクチャに基づいています。
すべての MFC アプリケーションには、少なくとも 2 つのオブジェクトがあります。 CWinApp
から派生したアプリケーション オブジェクトと、 CWnd
から派生した (多くの場合、間接的に) 何らかのメイン ウィンドウ オブジェクト。 (ほとんどの場合、メイン ウィンドウは CFrameWnd
、 CMDIFrameWnd
、または CDialog
から派生し、そのすべてが CWnd
から派生します)。
ドキュメント/ビュー アーキテクチャを使用するアプリケーションには、追加のオブジェクトが含まれています。 主なオブジェクトは次のとおりです。
- 前に説明したように、クラス
CWinApp
から派生したアプリケーション オブジェクト。 - クラス
CDocument
から派生した 1 つ以上のドキュメント クラス オブジェクト。 ドキュメント クラス オブジェクトは、ビューで操作されるデータの内部表現を担当します。 データ ファイルに関連付けられている可能性があります。 - クラス
CView
から派生した 1 つ以上のビュー オブジェクト。 各ビューは、ドキュメントにアタッチされ、フレーム ウィンドウに関連付けられているウィンドウです。 ビューは、ドキュメント クラス オブジェクトに含まれるデータを表示および操作します。
ドキュメント/ビュー アプリケーションには、フレーム ウィンドウ ( CFrameWnd
から派生) とドキュメント テンプレート ( CDocTemplate
から派生) も含まれます。