Top / Programming / C++Builder / フォームの「×」ボタンが押されたことを判定する

フォームの「×」ボタンが押されたことを判定する

フォームの「×」(閉じる)ボタンが押されたことを判定する方法。

Unit1.hに以下のコードを追加する。

private:
  void __fastcall OnSysCommand(TWMSysCommand & SysCom);
protected:
  BEGIN_MESSAGE_MAP
    VCL_MESSAGE_HANDLER(WM_SYSCOMMAND, TWMSysCommand, OnSysCommand)
  END_MESSAGE_MAP(TForm)

Unit1.cppに以下のコードを追加する。

void __fastcall TForm1::OnSysCommand(TWMSysCommand & SysCom)
{
  switch (SysCom.CmdType)
  {
    case SC_CLOSE:
      //「×」ボタンが押されたときの処理
      MessageDlg("「×」ボタンが押された", mtInformation, TMsgDlgButtons() << mbOK, 0);
      break;
    default: TForm::Dispatch(&SysCom);
  }
}