メインフレームの中にいくつかの子ウィンドウがある状態で、
子ウィンドウの右上端にある×ボタンで子ウィンドウを閉じる際に、
「本当に閉じてもいいですか? OK Cancel」
のようなダイアログを出して確認し、
OKだったら子ウィンドウをクローズし、
Cancelだったらクローズをしない
ということをしたいと思っています。
そこで、まずはクローズで呼ばれるところを把握しようとソースを見て、
CChildFrame::OnDestroy() がそうなのかとあたりをつけました。
CChildFrame::OnDestroy()で何もせずにreturnすれば子ウィンドウは消えないか
と思ったのですが、消えてしまいました。。。
×ボタンの時、子ウィンドウをクローズする前に呼ばれる処理は何になるのでしょう
か。
OnClose(WM_CLOSEハンドラ)かな。
Kerryさん
回答ありがとうございます。
が、OnCloseが存在していません。
これはオーバーライドか何かで作るものなのでしょうか?
クラスのプロパティでオーバーライドを見てみましたが、
そこには OnClose は見当たりませんでした。
開発環境に関しての説明が一切無いので開発環境上の操作の話を
されてもわからないと思いますよ。
こういったこともあるので新たに質問するときは毎回開発環境を
明示する必要があるんです。
MFCを使っているのであれば、MFC内のデフォルトの実装が呼び出されると
思いますから、派生側で実装しない場合はソース内には無いはずです。
ちなみにVisualStudio2005ならメッセージの所にWM_CLOSEがあると思います。
PATIO さん
>新たに質問するときは毎回開発環境を明示する必要があるんです。
知識不足でいたらず、恐縮です。
開発環境はVisualStudio2008です。
以後、気をつけます。
また、メッセージの所にWM_CLOSEを見つけられました。
これのオーバーライドで思うようなことができそうです。
ありがとうございました。