А я бы использовал событие OnCloseQuery. Оно выполняется до OnClose. У него есть параметр CanClose. ИМХО, OnClose лучше оставлять для конечных "брутальных" действий. Сорри, Билдера нет, но вот примерчик на Delphi:
| Код |
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin ShowMessage('Сообщение будет показано только если будем реально выходить. Точнее если видите его, то уже вышли =)'); end;
procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if MessageBox(0, 'Выйти?', 'Сообщение', MB_YESNO) = ID_NO then CanClose := false; end;
|
|