ドキュメント データ変数を使ったデータ管理
ドキュメントのデータを、ご自身のドキュメント クラスのメンバー変数として実装します。 たとえば、Scribble プログラムでは、CObList
型のデータ メンバーを宣言します。これは、CObject
オブジェクトへのポインターが格納されているリンク リストです。 このリストは、フリーハンドの線画を構成するポイントの配列を格納するときに使用されます。
ドキュメントのメンバー データをどのように実装するかは、ご自身のアプリケーションの性質によって異なります。 これに対応するために、MFC には、"コレクション クラス" のグループ、つまり C++ のテンプレートをベースにしたコレクションを含む配列、リスト、マップ (辞書) のほか、CString
、CRect
、CPoint
、CSize
、CTime
など、一般的なさまざまなデータ型がカプセル化されたクラスが用意されています。 これらのクラスの詳細については、「MFC リファレンス」の「クラス ライブラリの概要」を参照してください。
ドキュメントのメンバー データを定義する場合、通常、ドキュメント クラスにメンバー関数を追加して、データ項目を設定および取得し、それらに対してその他の便利な操作を行います。
お使いのビューでドキュメント オブジェクトにアクセスするには、作成時にビューにインストールされた、ドキュメントへのそのビューのポインターを使用します。 このポインターは、CView
メンバー関数 GetDocument
を呼び出すことにより、ビューのメンバー関数で取得できます。 このポインターは、必ずご自身のドキュメント型にキャストしてください。 その後、ポインターを使用して、パブリック ドキュメントのメンバーにアクセスできます。
データを頻繁に転送するため直接アクセスが必要な場合、またはドキュメント クラスの非パブリック メンバーを使用したい場合は、ビュー クラスをドキュメント クラスの (C++ の言葉でいう) フレンドにすることができます。