LoginSignup
0
0

More than 5 years have passed since last update.

FormCloseQuery で 保存確認ダイアログ を表示させる

Last updated at Posted at 2016-07-01

目的

 タイトルどおり。ウィンドウの×ボタンとか、キャンセルボタンをクリックしたときに
 「保存してないけど大丈夫か?」みたいなメッセージを出します

ポイント

 MessageBox() の 返り値でキャンセルボタンを認識。
 OnCloseQuery()で終了時処理を認識します。
 場合によってやっぱ終了するんやーめた を CanCloseで操作できます。
 というわけで、下記のコード。

file01.cpp
void __fastcall TEditorTool::FormCloseQuery(TObject *Sender, bool &CanClose)
{
    if (isCancel()) {
        // [キャンセル]時は終了しない
        CanClose = false;
    }
}

bool isCancel()
{
    bool ret = 0;
    int message_ret = MessageBox(Handle, _T("現在の設定は保存されていません、保存しますか?"), _T("確認"), MB_YESNOCANCEL);
    if (message_ret == IDCANCEL) {
            ret = 1;
        }
    return ret;
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0