ドキュメント/ビュー アーキテクチャの全体像

ドキュメントとビューは、一般的な MFC アプリケーションでペアにされています。 データはドキュメントに格納されますが、ビューにはデータへの特権アクセス権があります。 ドキュメントをビューから分離すると、データの保存とメンテナンスが表示から分離されます。

ビューからドキュメント データにアクセスする

ビューは 、GetDocument 関数を使用してドキュメントのデータにアクセスします。GetDocument 関数は、ドキュメントへのポインターを返します。または、ビュー クラスをドキュメント クラスの C++ に設定します 。 その後、ビューはデータへのアクセスを使用して、データを描画または操作する準備ができたらデータを取得します。

たとえば、ビューの OnDraw メンバー関数から、ビューは を使用 してドキュメント ポインターを取得します。 その後、そのポインターを使用して、ドキュメント CString 内のデータ メンバーにアクセスします。 ビューは文字列を 関数に渡 TextOut します。 この例のコードを確認するには、「ビューでの 描画」を参照してください

ビューへのユーザー入力

ビューでは、マウスクリック自体がデータの選択または編集として解釈される場合もあります。 同様に、キーストロークはデータ入力または編集として解釈される場合があります。 ユーザーがテキストを管理する文字列をビューに入力したとします。 ビューはドキュメントへのポインターを取得し、 ポインターを使用して新しいデータをドキュメントに渡し、それを何らかのデータ構造に格納します。

同じドキュメントの複数のビューの更新

テキスト エディターのスプリッター ウィンドウなど、同じドキュメントの複数のビューを持つアプリケーションでは、最初に新しいデータがドキュメント —— に渡されます。 次に、ドキュメントの UpdateAllViews メンバー関数を呼び出します。この関数は、新しいデータを反映して、ドキュメントのすべてのビューに自身を更新するように指示します。 これにより、ビューが同期されます。

詳細については、以下を参照してください。

関連項目

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