![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
событие "TForm.OnAfterShow" [D6, WinXP]
DSKalugin © (2005-03-07 10:52:00)Я знаю что такого не существует, но нужно написать обработчик этого несуществующего события.
Как его объявить если это возможно?
Или как по другому выполнить процедуру сразу ПОСЛЕ открытия формы?
OnCreate, OnShow не подходят
DSKalugin (2005-03-07 13:26:00) [1]2 Юрий Зотов
Совсем хорошо :-)) Была мысль про OnActivate, но о флаге не подумал
Спасибо
Юрий Зотов (2005-03-07 13:01:00) [2]OnActivate с флагом первой активизации.
DSKalugin (2005-03-07 11:23:00) [3]Бальшущее спасибо, буду пробовать :-)
KSergey (2005-03-07 11:22:00) [4]TWMKey заменить на TMwssage, конечно же
KSergey (2005-03-07 11:21:00) [5]Какой? Как пользовательское событие вешать?
Да как обычно
Примерно так:
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;
DSKalugin (2005-03-07 11:09:00) [6]интересное решение, а примерчик покажешь?
KSergey (2005-03-07 10:56:00) [7]После открытия и отрисовки, верно?
Я обычно в OnCreate постю себе сообщение пользовательское - а в его обработчике как раз тот код, который хочу выполнить