Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.043 c
1-1090488913
Morg
2004-07-22 13:35
2004.08.08
Увеличение скорости поиска в TStringList


14-1090400871
cherep
2004-07-21 13:07
2004.08.08
обратный -exe компилятор


1-1090577738
кларк
2004-07-23 14:15
2004.08.08
Как сделать, чтобы ListBox заполнился при откр диал окна?


4-1088431068
Cara
2004-06-28 17:57
2004.08.08
Как открыть меню в чужом приложении (TMainMenu)


6-1086101138
Sword
2004-06-01 18:45
2004.08.08
IP по MAC





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский