Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

перекрыть метод закрытия формы   Найти похожие ветки 

 
segor   (2004-07-23 11:27) [0]

пробовал перекрывать doclose, но он вызывается только при нажатии на крестик в углу формы. а надо чтобы при любом закрытии вызывался мой метод. шо делать???


 
Суслик ©   (2004-07-23 11:34) [1]

там же событие есть - ondestroy у формы.


 
DK   (2004-07-23 11:35) [2]

И он On CloseQuery(CanClose:=false)


 
DK   (2004-07-23 11:36) [3]

До этого не правельно написал:

И OnCloseQuery - CanClose:=false


 
segor   (2004-07-23 11:49) [4]

у них нету TAction
а нужен


 
ИдиотЪ   (2004-07-23 12:09) [5]

OnClose всегда работает, впиши туда свой метод


 
Суслик ©   (2004-07-23 12:09) [6]

а на фига TAction?

напиши, что нужно.


 
Рамиль ©   (2004-07-23 12:29) [7]


> [5] ИдиотЪ   (23.07.04 12:09)

DoClose это диспетчер OnClose, так что срабатывают они одинаково. Попробуй уничтожить форму, а не закрыть.


 
segor   (2004-07-23 12:32) [8]

дело в том, что мой метод использует TAction чтобы по условию не позволить закрыть форму


 
Zlod3y ©   (2004-07-23 12:35) [9]

Почитай Руководство разработчика Тейксейры и Пачеко в каком-то томе написано как прописать свой метод за место стандартного....всё просто на самом дел, только из всего помню
OnClose:=nil;

могу вечером кинуть примерчик, когда домой приду


 
segor   (2004-07-23 12:37) [10]

было бы неплохо примерчик. спасибо


 
grom   (2004-07-23 14:07) [11]

public { Public declarations }
   procedure Sys(var M:TMessage);message WM_SYSCOMMAND;
--------------
//wwwwwwwww C L O S E /wwwwwwwww
procedure TForm1.Sys(var M:TMessage);
begin
 if M.wParam=SC_CLOSE then begin
........
........
 Exit;
 end;

 inherited;
end;


 
Zlod3y ©   (2004-07-23 14:20) [12]


> segor   (23.07.04 12:37) [10]

если можно, то скажи что те там делать нада, можно в общих чертах... может наверно и без перекрытия обойтись можно


 
segor   (2004-07-23 14:42) [13]

есть форма-класс, от которой наследуются потом все остальные
так вот, одна из задач этой формы - проверять правильность ввода нек. значений в контролах и если что не так - не позволять закрыть форму


 
segor   (2004-07-23 14:43) [14]

есть форма-класс, от которой наследуются потом все остальные
так вот, одна из задач этой формы - проверять правильность ввода нек. значений в контролах и если что не так - не позволять закрыть форму

пробовал procedure Sys(var M:TMessage);message WM_SYSCOMMAND;

но она также как и doClose срабатывает ТОЛЬКО на крестике
а надо ВО ВСЕХ случаях! (есть кнопка ОК с ModalResult = mrOK)


 
segor   (2004-07-23 14:45) [15]

точнее даже кнопки в ЭТОМ классе нету
все что есть - так это бызовые методы TForm и системные события


 
Плохиш ©   (2004-07-23 14:46) [16]


> segor   (23.07.04 14:43) [14]

Тебе уже 2 часа назад DK ответил


 
grom   (2004-07-23 15:09) [17]

а надо ВО ВСЕХ случаях!
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
CanClose:=false
---------------
Плохиш ©   (23.07.04 14:46) [16]

> segor   (23.07.04 14:43) [14]

Тебе уже 2 часа назад DK ответил


 
Zlod3y ©   (2004-07-23 19:14) [18]

Наверно уже не в тему.....тут смотрю Query полезли уже
Вопрос то кто нибудь помнит?

в привате объявляешь собственный метод, типа:
MyCustomFormClose(Sender: TObject {; тут наверно нужно будет написать что-нить про TAction, но я не уверен});

Потом описываешь метод как любую другую процедуру:
procedure MyCustomFormClose(Sender: TObject);
begin
//тыры-пыры
end;


а в formcreate например пишешь:
Form1.OnClose:=MyCustomFormClose;

а если что, то потом всё можно вернуть на место:
Form1.OnClose:=nil;


 
segor   (2004-07-23 19:52) [19]

всем спасибо
как-то я ответ DK  просмотрел
все работает



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.042 c
8-1085246749
Dr.Alex
2004-05-22 21:25
2004.08.08
MPEG to AVI


3-1089879040
Акуля
2004-07-15 12:10
2004.08.08
HELP with ADOQuery!!!


3-1089957600
Pipl
2004-07-16 10:00
2004.08.08
Ошибка при выполнении динамического запроса


14-1090309262
<DeL.>
2004-07-20 11:41
2004.08.08
Счетчик


3-1089748306
Bizon's
2004-07-13 23:51
2004.08.08
Проблемы UDF