ウィンドウを破棄するCWindow::Destroyを実装する。
Window.hで、
Destroyを追加。
Window.cppでは、
Destroyをこのように定義。
デストラクタで呼ぶ。
OnCloseから呼べるけど、閉じた後はどちらにしろウィンドウは破棄されるので、これはコメントアウト。
MainWindow.cppでは、
Destroyは使ってないけど、ここのデストラクタのウィンドウ破棄処理があるとややこしいので、コメントアウトして、Window.cpp側に任せる。
ここで閉じるをOKにすると、
CWindow::OnCloseへ、
ここでは破棄しない。
閉じるのを許可したら勝手に破棄されるので。
ここに来て、
メッセージループも終わる。
いよいよメインウィンドウオブジェクトの削除。
ここに来たら、
CMainWindowのデストラクタに来るけど、これは無視。
CWindowのデストラクタでDestroy。
ここなんだけど、
DestroyWindowの処理は、
失敗する。既に破棄されてるからね。
という感じでオブジェクトの破棄が終わる。
Test/winapi/CWindow/Destroy/src/CWindow at master · bg1bgst333/Test · GitHub