次の方法で共有


ドキュメント/ビュー アーキテクチャ

既定ではドキュメント クラスとビュー クラスは、MFC アプリケーション ウィザード スケルトン アプリケーションを作成します。 MFC は、これら二つのクラスに個別のデータを管理します。 ドキュメントにはデータの複数のビューを更新するデータと座標を印刷を管理します。 ビューにデータを表示し、選択、編集がそのユーザーとの対話を管理します。

このモデルでは、MFC ドキュメント オブジェクトは永続ストレージにデータの読み取りと書き込み。 ドキュメントは、データに存在する場所でインターフェイスを提供する場合があります (データベースなど)。 別のビュー オブジェクトがデータのユーザーの選択および編集するウィンドウにデータを表示することで、データ表示を管理します。 ビューはドキュメントの表示データを取得し、それを文書にデータ変更を示します。

簡単にドキュメント/ビューで分離をオーバーライドしたり無視できますが、このモデルは、ほとんどの場合、理由があります。 推奨の 1 つがワークシートとグラフ ビューなどの同じドキュメントの複数のビューが必要になる場合があります。 ドキュメント/ビュー モデルはすべてのビューが共通コードは文書 (計算エンジンなど) も配置できますが、別のビュー オブジェクトが各データ ビューを表すことができます。 ドキュメントは、すべてのビューの更新のタスクでデータが変更されるたびになります。

MFC のドキュメント/ビュー アーキテクチャはマルチ ビュー、マルチ ドキュメントの種類、分割ウィンドウ、およびそのほかの重要なユーザー インターフェイス機能をサポートするのが容易になります。

ユーザーは、プログラマに最も表示される MFC フレームワークの一部は、ドキュメントとビューです。 フレームワークを使ったアプリケーションの開発作業のほとんどはドキュメント クラスとビュー クラスを記述することになります。 この記事のファミリで説明する:

  • これらは、フレームワークでどのようにやり取りするか、ドキュメントとビューの目的と。

  • これらを実装するために何をする必要があります。

ドキュメントとビューの中心に 4 個の主要クラスは N:

CDocument (または COleDocument) クラスは、プログラムでデータを保存したり、制御するために使用されるオブジェクトをサポートし、プログラマ定義のドキュメント クラスの基本機能が用意されています。 ドキュメントには、ユーザーがファイル メニューの開くコマンドとして開いて保存コマンドとファイル メニューに格納されているデータの単位を表します。

CView (またはそのほかの派生クラスの 1 つがプログラマ定義されたビュークラス) の基本機能を提供します。 ビューはドキュメントにアタッチされ、ドキュメントとそのユーザーの間の仲介役として機能する: ビューは画面のドキュメントのイメージを描画し、操作としてドキュメントにユーザー入力を評価します。 ビューは、印刷と印刷プレビュー用のイメージを表示します。

CFrameWnd (またはバリエーションの 1) オブジェクトをサポートするドキュメントの一つ以上のビューの周囲にフレームを提供できます。

CDocTemplate (または CSingleDocTemplate または CMultiDocTemplate) 指定した型の一つ以上の既存のドキュメントを調整し、その種類の適切なドキュメント、ビュー、およびフレーム ウィンドウ オブジェクトの作成を管理するオブジェクトをサポートします。

次の図は、ドキュメントとビュー間の関係を示します。

ドキュメントとビュー

ビューは表示されているドキュメントの一部です

クラス ライブラリのドキュメント/ビューの実装が表示にデータのユーザー アクションからデータを区切ります。 データに対するすべての変更は、ドキュメント クラスを使用して管理されます。 ビューには、データにアクセスし、更新するには、このインターフェイスを呼び出します。

ドキュメント、ビュー、および関連するビューを構築するフレーム ウィンドウは、ドキュメント テンプレートで作成されます。 ドキュメント テンプレートは 1 個のドキュメントの種類のドキュメントを作成および管理する必要があります。

さらに詳しくは次のトピックをクリックしてください

参照

概念

Windows

フレーム ウィンドウ

ドキュメント テンプレートとドキュメント/ビューの作成手順

ドキュメントおよびビューの作成

新しいドキュメント、ウィンドウ、ビューの作成

その他の技術情報

ユーザー インターフェイス要素 (MFC)