TForm1.FormCloseで[×]ボタンを判定するには?

解決


パパ  2006-10-28 01:09:30  No: 23653  IP: [192.*.*.*]

FormClose内で、右上の[×]ボタンを押したときの判定をしたいのですが、方法がわかりません。
何か良い方法を教えてください。
よろしくお願いします。

編集    削除
Front and back  2006-10-28 02:32:43  No: 23654  IP: [192.*.*.*]

宣言部

procedure WMSysCommand(var Msg:TWMSysCommand);
          message WM_SYSCOMMAND;

実行部

procedure Tform1.WMSysCommand(var Msg:TWMSysCommand);
begin

  if SC_CLOSE=msg.CmdType then
  begin
  //×を押したときやりたいこと
  end;
end;


 で、いかがでしょうか。

編集    削除
パパ  2006-10-29 06:46:56  No: 23655  IP: [192.*.*.*]

FormClose内でWMSysCommandを呼び出せば良いのでしょうか?

よろしくお願いします。

編集    削除
かふぇ  2006-10-30 20:53:05  No: 23656  IP: [192.*.*.*]

メニューから閉じられた場合、WM_SYSCOMMANDメッセージが飛んできます。
それをキャッチする関数としてWMSysCommand()関数を定義しているのだと
思います。
コールバック関数で検索すると良いかもしれません。
ではでは。

編集    削除
Front and back  2006-10-30 22:18:58  No: 23657  IP: [192.*.*.*]

おっと、お返事遅くなってすいません。

かふぇさんの仰る通りです〜。
コールバック関数が分かりにくければ私が書いたのをそのまま書き足せばOKですよー。
他のメソッドから呼び出す必要はありませんよv

編集    削除
パパ  2006-10-30 22:52:13  No: 23658  IP: [192.*.*.*]

Front and backさん、かふぇさん、大変勉強になりました。本当にどうもありがとうございました。

編集    削除