次の方法で共有


ドキュメント データ変数を使ったデータ管理

更新 : 2007 年 11 月

ドキュメントのデータはドキュメント クラスのメンバ変数として実装します。たとえば Scribble プログラムでは、CObject オブジェクトへのポインタを格納するリンク リストである CObList 型のデータ メンバを宣言します。このリストには、手描きの線を構成する点の配列が格納されます。

ドキュメントのメンバ データを実装する方法は、アプリケーションによって異なります。MFC では、プログラマを支援するために、C++ テンプレートに基づいたコレクションを始めとする配列、リスト、マップ (ディクショナリ) などの一連の "コレクション クラス" に加えて、CStringCRectCPointCSizeCTime などの一般的なデータ型をカプセル化したクラスも用意しています。これらのクラスの詳細については、『MFC リファレンス』の「クラス ライブラリの概要」を参照してください。

通常、ドキュメントのメンバ データを定義するときは、ドキュメント クラスにメンバ関数を追加します。この作業を通じてデータ項目の設定と取得を行い、取得した項目に対して、ほかの有効な処理を実行します。

ビューがドキュメント オブジェクトにアクセスするときは、ビューの作成時に組み込まれる、ドキュメントへのポインタを使用します。このポインタをビューのメンバ関数内で取得するには、CView メンバ関数の GetDocument を呼び出します。取得したポインタは、必ず独自のドキュメント タイプにキャストしてください。キャストしたポインタを通じて、パブリック ドキュメント メンバにアクセスできます。

データ転送を頻繁に行うためにドキュメントに直接アクセスする必要があるとき、またはドキュメント クラスのパブリックでないメンバを使う必要があるときは、ビュー クラスをドキュメント クラスのフレンド クラス (C++ の用語) にしてください。

参照

参照

ドキュメントの使い方