Вниз
Скачать: CL | DM;

событие "TForm.OnAfterShow"   Найти похожие ветки 

 
DSKalugin ©   (2005-03-07 10:52) [0]

Я знаю что такого не существует, но нужно написать обработчик этого несуществующего события.
Как его объявить если это возможно?
Или как по другому выполнить процедуру сразу ПОСЛЕ открытия формы?
OnCreate, OnShow не подходят


 
KSergey ©   (2005-03-07 10:56) [1]

После открытия и отрисовки, верно?
Я обычно в OnCreate постю себе сообщение пользовательское - а в его обработчике как раз тот код, который хочу выполнить


 
DSKalugin ©   (2005-03-07 11:09) [2]

интересное решение, а примерчик покажешь?


 
KSergey ©   (2005-03-07 11:21) [3]

Какой? Как пользовательское событие вешать?

Да как обычно
Примерно так:

const

 AM_BASE = WM_USER+500;  
 AM_FORMSTART = AM_BASE

type
 TAdEditForm = class(TForm)
...
 private
   Procedure AMFormStart(Var Msg:TWMKey); message AM_FORMSTART;
 end;

....

TAdEditForm.AdEditFormCreate;
begin
 PostMessage (Handle, FORMSTART, 0, 0);
end;

TAdEditForm.AMFormStart(Var Msg:TWMKey);
begin
......
end;


 
KSergey ©   (2005-03-07 11:22) [4]

TWMKey заменить на TMwssage, конечно же


 
DSKalugin ©   (2005-03-07 11:23) [5]

Бальшущее спасибо, буду пробовать :-)


 
Юрий Зотов ©   (2005-03-07 13:01) [6]

OnActivate с флагом первой активизации.


 
DSKalugin ©   (2005-03-07 13:26) [7]

2 Юрий Зотов
Совсем хорошо :-)) Была мысль про OnActivate, но о флаге не подумал
Спасибо



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.04 c
14-1109682549
SergP
2005-03-01 16:09
2005.03.20
Автоматизация MSOffice. Памагите!!!


3-1108649874
DimonNew
2005-02-17 17:17
2005.03.20
Delphi2005 и ClientDataSet


1-1109777179
ТехникПТО
2005-03-02 18:26
2005.03.20
String в TColor


1-1109942669
Scorpio
2005-03-04 16:24
2005.03.20
Плавающая точка


14-1109459358
Копир
2005-02-27 02:09
2005.03.20
Деликатный вопрос. Девушкам не читать!




   Наверх