「アプリケーションを終了しますか?」というようなアプリケーション終了確認のダイアログを表示していなかったので、それを実装する。
まず、ウィンドウの破棄の時であるWM_DESTROYではなく、ウィンドウを閉じる時のWM_CLOSEの処理がなかったので、それを追加する。
Window.hで、
OnCloseを追加。
Window.cppで、
DynamicWindowProcでWM_CLOSEの時、OnCloseが0以外を返した時に、0を返してウィンドウを閉じないようにしている。
(フラグを逆にしているので、ちょっとややこしいので注意!)
つまり0ならウィンドウは閉じる。
基本的には0を返すので、普通に閉じる。
MainWindow.hで、
ここにもOnCloseを追加。
MainWindow.cppで、
OnCloseで、OKCancelなメッセージボックスを出して、IDOKなら0を返してウィンドウを閉じる。
IDCANCELなどそれ以外なら、-1を返してウィンドウを閉じない。
起動時、この状態で、
閉じるボタンを押すと、
アプリケーション終了確認ダイアログを表示。
キャンセルだと、
ウィンドウを閉じないが、
OKだと、ウィンドウを閉じて、アプリケーションが終了する。