ダイアログ ボックスの破棄
通常、モーダル ダイアログ ボックスはスタック フレームで作成され、そのダイアログ ボックスを作成した関数が終了すると破棄されます。 ダイアログ オブジェクトのデストラクターは、オブジェクトがスコープ外に出たときに呼び出されます。
通常、モードレス ダイアログ ボックスは親ビューまたはフレーム ウィンドウ (アプリケーションのメイン フレーム ウィンドウまたはドキュメント フレーム ウィンドウ) によって作成および所有されます。 既定の OnClose ハンドラーでは、ダイアログ ボックス ウィンドウを破棄する DestroyWindow が呼び出されます。 ダイアログ ボックスがスタンドアロンであり、そのダイアログ ボックスへのポインターまたはほかの特殊な所有権を意味するものがない場合は、PostNcDestroy をオーバーライドして C++ ダイアログ オブジェクトを破棄する必要があります。 加えて、OnCancel をオーバーライドし、そこから DestroyWindow を呼び出すことも必要です。 オーバーライドしない場合は、ダイアログ ボックスのオーナーは、不要になった C++ オブジェクトを破棄する必要があります。