Document/View Creation は、 CDocTemplate オブジェクトがフレーム ウィンドウ、ドキュメント、およびビューの作成を調整し、それらをまとめて接続する方法を示します。
コンストラクターに対する 3 つの CDocTemplate
引数は、ファイル メニューの [新規作成] コマンドや MDI ウィンドウ メニューの [新しいウィンドウ] コマンドなどのユーザー コマンドに応答して、ドキュメント テンプレートが動的に作成するフレーム ウィンドウ、ドキュメント、およびビュー クラスを指定します。 ドキュメント テンプレートは、ビューとドキュメントのフレーム ウィンドウを作成するときに後で使用するために、この情報を格納します。
RUNTIME_CLASSメカニズムが正しく機能するためには、派生フレーム ウィンドウ クラスを DECLARE_DYNCREATE マクロで宣言する必要があります。 これは、フレームワークがクラス CObject
の動的構築メカニズムを使用してドキュメント フレーム ウィンドウを作成する必要があるためです。
ユーザーがドキュメントを作成するコマンドを選択すると、フレームワークはドキュメント テンプレートを呼び出して、ドキュメント オブジェクト、そのビュー、およびビューを表示するフレーム ウィンドウを作成します。 ドキュメント フレーム ウィンドウを作成すると、ドキュメント テンプレートによって、適切なクラスのオブジェクト (SDI アプリケーションの CFrameWnd から派生したクラス、または MDI アプリケーションの CMDIChildWnd から派生したクラス) が作成されます。 その後、フレームワークはフレーム ウィンドウ オブジェクトの LoadFrame メンバー関数を呼び出して、リソースから作成情報を取得し、Windows ウィンドウを作成します。 フレームワークは、ウィンドウ ハンドルをフレーム ウィンドウ オブジェクトにアタッチします。 次に、ドキュメント フレーム ウィンドウの子ウィンドウとしてビューを作成します。