次の方法で共有


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

更新 : 2007 年 11 月

以下の図に、ドキュメント、フレーム ウィンドウ、ビューの作成処理の概略を示します。以降の章では、オブジェクト間の連係の詳細について説明します

作成工程が完了すると、オブジェクト間が関連付けられ、ポインタを保持します。以下の図に、オブジェクトの作成順を示します。図は作成順に並んでいます。

ドキュメントの作成過程
ドキュメント シーケンスの作成フレーム ウィンドウの作成過程
フレーム ウィンドウ作成シーケンスビューの作成過程
ビュー作成シーケンス

フレームワークによる新しいドキュメント、ビュー、フレーム ウィンドウ オブジェクトの初期化方法については、『MFC リファレンス』の「CDocument」、「CView」、「CFrameWnd」、「CMDIFrameWnd」、「CMDIChildWnd」を参照してください。また、「テクニカル ノート 22: 標準コマンドの実装」も参照してください。このテクニカル ノートには、フレームワークの標準コマンド ([ファイル] メニューの [新規作成] および [開く]) の説明の中で、各オブジェクトの作成および初期化処理についてより詳しく説明されています。

独自にクラスに追加した部分の初期化

前の図には、アプリケーションのオブジェクトを初期化するメンバ関数をオーバーライドできる箇所も示されています。ビューを初期化するには、ビュー クラスの OnInitialUpdate をオーバーライドするのが一番です。フレーム ウィンドウが作成され、フレーム ウィンドウ内のビューがドキュメントに結合されると、すぐに OnInitialUpdate が呼び出されます。たとえば、スクロール ビュー (CView ではなく、CScrollView からの派生クラス) の場合は OnInitialUpdate をオーバーライドして、ドキュメント サイズに基づき、ビューのサイズを設定する必要があります。この過程は CScrollView クラスに関するトピックで説明します。アプリケーションに合わせてドキュメントを初期化するには、CDocument のメンバ関数 OnNewDocumentOnOpenDocument をオーバーライドします。通常、ドキュメントは 2 つの方法で作成できるため、両方の関数をオーバーライドする必要があります。

ほとんどの場合、オーバーライドした関数では、基本クラスの同じ関数を呼び出します。詳細については、『MFC リファレンス』の「CDocument」、「CView」、「CFrameWnd」、「CWinApp」のメンバ関数を参照してください。

参照

概念

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

ドキュメント テンプレートの作成

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

各種 MFC オブジェクト間の関係