フレームのタイトルバーの右隅のXをクリックすると、"本当に終わりますか?"のメッセージボックスを入れたい。

[戻る]
ガラ 2005/04/29(金) 23:41:20
OS XP VC++6.0 PRO使用

MFCのSDIでゲームプログラムを作成していますが、
フレーム右上隅のXをクリックするとプログラムが終了します。
このとき、’本当に終了してよろしいですか?Y/N’の
メッセージをいれたいのですが、どのようにすれば、よろしいでしょうか?

Blue 2005/04/29(金) 23:56:25
WM_COLSEメッセージを追加して、OnCloseメソッド内に
終了確認メッセージボックスを表示して、Yesならば終了するような処理を追加します。

詳しくはここを参考にどうぞ。
http://www24.cds.ne.jp/~neg/pro/piyo1/msgmake/close.html

Blue 2005/04/29(金) 23:59:17
>WM_COLSEメッセージを追加して、OnCloseメソッド内に
綴り間違ってる。 orz

WM_CLOSE です。
追加するのはSDIの場合はCMainFrameですね。

ガラ 2005/04/30(土) 09:27:50
[[解決]]
Blueさんありがとうございます。

以下のよう手順で、実現できました。

1.クラスウィザードを起動する。
2.CMainFrame クラスを選択する。
3.WM_CLOSE を選択する。
4.コードの編集をクリックする。
5.以下のようにコーディングする。

void CMainFrame::OnClose() 
{
    if (AfxMessageBox("本当に終了してよろしいですか?",MB_YESNO) == IDYES) {
        CFrameWnd::OnClose();
    }
}

古いスレッドには追加発言できません。