![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отследить нажатие на крестик
ShimON © (2005-02-04 18:44:00)Скажите, пожалуйста, как отследить нажатие ИМЕННО на крестик формы.
grom (2005-02-04 21:06:00) [1]procedure OnSysCommand (var m: TMessage); message WM_SYSCOMMAND;
...
procedure TForm1.OnSysCommand;
begin
if M.wParam=SC_CLOSE then begin
beep;
exit;
end ;
inherited;
end;
MacroDenS (2005-02-04 19:55:00) [2]Ну я так понимаю, что при нажатии на ОК данные должнеы подтвердиться, а закрытие формы равносильно отмене(отказу от заполнения данных), если так, то в чем проблема???
ShimON (2005-02-04 19:11:00) [3]Так ведь так и сделано. При нажатии на к-нить кнопку переменная принимает значение true или false. Так вот если нажать сначала на OK с неправильным полем, то переменная станет False, а затем нажать на крестик - форма не закроится :(
begin...end (2005-02-04 19:06:00) [4]> [4] ShimON © (04.02.05 19:00)
Может быть, можно закрывать или не закрывать форму в обработчике нажатия кнопки (в зависимости от результата проверки правильности ввода)?
ShimON (2005-02-04 19:00:00) [5]Дело в том, что мне надо при нажатии на OK проверить все поля и в случае, если одно из них неправильно заполнено, нужно вернуться в форму и заставить исправить. Поэтому в OnQueryClose я поставил эту проверку, но по сути если человек нажимает на крестик или отмену(это сделал) форма должна закрыться без вопросов!!!!
Плохиш (2005-02-04 18:57:00) [6]и чем так OnQueryClose не нравится?
ShimON (2005-02-04 18:51:00) [7]Интересно - но слишком сложно для этой проблемы, наверняка есть способ лучше!!!
Алхимик (2005-02-04 18:49:00) [8]Решение в лоб.
Form.Style = fsNone
Синий TShape на верхнюю часть формы
Button.Caption = 'X' в правый верхний угол
:)