次の方法で共有


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

次の図は、ドキュメント、ビュー、フレーム ウィンドウの作成プロセスの概要を示しています。 参加するオブジェクトに焦点を当てたその他の記事では、さらに詳しく説明します。

このプロセスが完了すると、連携するオブジェクトが存在し、ポインターが相互に格納されます。 次の図は、オブジェクトが作成されるシーケンスを示しています。 図から図までの順序に従うことができます。

ドキュメントを作成するためのシーケンスを示す図。
ドキュメントの作成のシーケンス

フレーム ウィンドウの作成シーケンスを示す図。
フレーム ウィンドウの作成のシーケンス

ビューを作成するためのシーケンスを示す図。
ビューの作成過程

フレームワークが新しいドキュメント、ビュー、フレーム ウィンドウ オブジェクトを初期化する方法については、MFC ライブラリ リファレンスの CDocument、CViewCFrameWndCMDIFrameWndおよび CMDIChildWnd クラスを参照してください。 また、「ファイル」メニューの「新規」および「開く」項目に対するフレームワークの標準コマンドの説明の下で、作成プロセスと初期化プロセスについて詳しく説明する Technical Note 22 も参照してください。

これらのクラスに対する独自の追加機能を初期化する

上の図は、メンバー関数をオーバーライドしてアプリケーションのオブジェクトを初期化できるポイントも示しています。 ビュー クラスの OnInitialUpdate のオーバーライドは、ビューを初期化するのに最適な場所です。 OnInitialUpdate呼び出しは、フレーム ウィンドウが作成され、フレーム ウィンドウ内のビューがそのドキュメントにアタッチされた直後に発生します。 たとえば、ビューがスクロール ビュー (CScrollViewではなくCViewから派生) である場合は、OnInitialUpdateオーバーライドのドキュメント サイズに基づいてビュー サイズを設定する必要があります。 (このプロセスについては、 CScrollView クラスの説明で説明されています)。 CDocument メンバー関数 OnNewDocument および OnOpenDocument をオーバーライドして、アプリケーション固有のドキュメントの初期化を提供できます。 ドキュメントは 2 つの方法で作成できるため、通常は両方をオーバーライドする必要があります。

ほとんどの場合、オーバーライドは基底クラスのバージョンを呼び出す必要があります。 詳細については、MFC ライブラリ リファレンスのクラス CDocument、CViewCFrameWnd、および CWinApp の名前付きメンバー関数を参照してください。

こちらも参照ください

ドキュメント テンプレートとドキュメント/ビュー作成プロセス
ドキュメント テンプレートの作成
ドキュメント/ビューの作成
MFC オブジェクト間のリレーションシップ