ドキュメント、ビュー、フレームワーク
MFC フレームワークの中心は、ドキュメントとビューの概念です。 ドキュメントは、ユーザーが編集セッションで操作するデータ オブジェクトです。 これは、[ファイル] メニューの[新規]または [開く] コマンドによって作成され、通常はファイルに保存されます。 (標準 MFC ドキュメント (クラスから派生) は、Active ドキュメントや OLE 複合ドキュメントとは CDocument 異なります。 ビューは、ユーザーがドキュメントと対話するウィンドウ オブジェクトです。
実行中のアプリケーションの主なオブジェクトは次のとおりです。
スレッド オブジェクト
たとえば、アプリケーションで個別の実行スレッドを作成する場合、バックグラウンドで計算を行うには、 から派生 —— したクラスを使用します
CWinThread。CWinApp自体は から派生し、アプリケーションの実行のプライマリ スレッド (またはメイン プロセスCWinThread) を表します。 また、セカンダリ スレッドで MFC を使用できます。アプリケーション オブジェクト
アプリケーション クラス (から派生) は、上記のすべてのオブジェクトを制御し、初期化やクリーンアップなどのアプリケーション
CWinAppの動作を指定します。 アプリケーションの 1 つの唯一のアプリケーション オブジェクトは、アプリケーションがサポートするドキュメントの種類のドキュメント テンプレートを作成および管理します。ドキュメント テンプレートまたはテンプレート
ドキュメント テンプレートは、ドキュメント、ビュー、フレーム ウィンドウの作成を調整します。 クラス から派生した特定のドキュメント テンプレート クラスは、1 つの型のすべての開いている
CDocTemplateドキュメントを作成および管理します。 複数の種類のドキュメントをサポートするアプリケーションには、複数のドキュメント テンプレートがあります。 SDI アプリケーションにはクラス CSingleDocTemplate を使用するか 、MDI アプリケーションにクラスを使用します。フレーム ウィンドウ
ビューは 、"ドキュメント フレーム ウィンドウ" 内に表示されます。SDI アプリケーションでは、ドキュメント フレーム ウィンドウもアプリケーションの "メイン フレーム ウィンドウ" です。 MDI アプリケーションでは、ドキュメント ウィンドウはメイン フレーム ウィンドウ内に表示される子ウィンドウです。 派生メイン フレーム ウィンドウ クラスは、ビューを含むフレーム ウィンドウのスタイルと他の特性を指定します。 フレーム ウィンドウをカスタマイズする必要がある場合は、 から派生して、SDI アプリケーションのドキュメント フレーム
CFrameWndウィンドウをカスタマイズします。 から派生CMDIFrameWndして、MDI アプリケーションのメイン フレーム ウィンドウをカスタマイズします。 また、 からクラスを派生し、アプリケーションでサポートされる MDI ドキュメント フレーム ウィンドウの種類CMDIChildWndごとにカスタマイズします。ドキュメントまたはドキュメント。
ドキュメント クラス (から派生)
CDocumentは、アプリケーションのデータを指定します。アプリケーションで OLE 機能が必要な場合は、必要な機能の種類に応じて、 または派生クラスの 1 つからドキュメント クラス
COleDocumentを派生します。ビューまたはビュー。
ビュー クラス (から派生
CView) は、ユーザーの "データのウィンドウ" です。ビュー クラスは、ユーザーがドキュメントのデータを表示して操作する方法を制御します。 場合によっては、ドキュメントにデータの複数のビューを含めることができます。スクロールが必要な場合は、 から派生します
CScrollView。 ダイアログ テンプレート リソースにレイアウトされたユーザー インターフェイスがビューにある場合は、 から派生しますCFormView。 単純なテキスト データの場合は、 を使用するか、 から派生しますCEditView。 データ入力プログラムなどのフォーム ベースのデータ アクセス アプリケーションの場合は、 (ODBC の場合)CRecordViewから派生します。 クラス 、、およびCTreeViewCListViewも使用できますCRichEditView。
実行中のアプリケーションでは、これらのオブジェクトは、コマンドや他のメッセージによってバインドされたユーザー アクションに協調的に応答します。 1 つのアプリケーション オブジェクトによって、1 つ以上のドキュメント テンプレートが管理されます。 各ドキュメント テンプレートでは、1 つ以上のドキュメントが作成および管理されます (アプリケーションが SDI か MDI かによって異なる)。 ユーザーは、フレーム ウィンドウ内に含まれるビューを使用してドキュメントを表示および操作します。 次の図は、SDI アプリケーションのこれらのオブジェクト間の関係を示しています。

動作中の SDI アプリケーションのオブジェクト
この記事の残りのファミリでは、フレームワーク ツール、MFC アプリケーション ウィザード、およびリソース エディターによってこれらのオブジェクトがどのように作成され、どのように動作し、プログラミングでどのように使用されるのかについて説明します。 ドキュメント、ビュー、およびフレーム ウィンドウの詳細については、「ウィンドウ オブジェクト」および「ドキュメント/ビュー アーキテクチャ」を参照してください。