目的
タイトルどおり。ウィンドウの×ボタンとか、キャンセルボタンをクリックしたときに
「保存してないけど大丈夫か?」みたいなメッセージを出します
ポイント
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;
}