フレーム ウィンドウの破棄
更新 : 2007 年 11 月
MFC フレームワークは、フレームワークのドキュメントおよびビューに関連付けられているウィンドウの作成ばかりでなく、ウィンドウの破棄も管理します。新規にウィンドウを作成する場合は、ウィンドウの破棄についても必ず考慮してください。
フレームワークでは、ユーザーがフレーム ウィンドウを閉じると、ウィンドウの既定の OnClose ハンドラが DestroyWindow を呼び出します。Windows のウィンドウが破棄されるときに最後に呼び出されるメンバ関数は、OnNcDestroy です。このメンバ関数は後処理を行ってから、Default メンバ関数を呼び出して Windows の後処理を行います。最後に、PostNcDestroy 仮想メンバ関数が呼び出されます。CFrameWnd の PostNcDestroy は、C++ ウィンドウ オブジェクトを削除します。フレーム ウィンドウに対しては、C++ の delete 演算子は使用しないでください。代わりに、DestroyWindow を使用します。
メイン ウィンドウを閉じると、アプリケーションが終了します。文書を変更してから保存していないと、フレームワークはメッセージ ボックスを表示し、文書を保存するかどうかを問い合わせ、必要に応じて該当する文書を確実に保存します。