ドキュメントは 2 つの異なる方法で作成されるため、ドキュメント クラスは両方の方法をサポートする必要があります。 最初に、ユーザーは [新規ファイル] コマンドを使用して、新しい空のドキュメントを作成できます。 その場合は、クラス CDocument の OnNewDocument メンバー関数のオーバーライドでドキュメントを初期化します。 次に、ユーザーは [ファイル] メニューの [開く] コマンドを使用して、ファイルから内容を読み取る新しいドキュメントを作成できます。 その場合は、クラス の CDocument
メンバー関数のオーバーライドでドキュメントを初期化します。 両方の初期化が同じ場合は、両方のオーバーライドから共通メンバー関数を呼び出すか、OnOpenDocument
OnNewDocument
を呼び出してクリーン ドキュメントを初期化し、開いている操作を完了できます。
ビューは、ドキュメントの作成後に作成されます。 ビューを初期化する最適なタイミングは、フレームワークがドキュメント、フレーム ウィンドウ、ビューの作成を完了した後です。 ビューを初期化するには、CViewの OnInitialUpdate メンバー関数をオーバーライドします。 ドキュメントが変更されるたびに何かを再初期化または調整する必要がある場合は、 OnUpdate をオーバーライドできます。