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

Вниз

Выполнение кода после появления формы   Найти похожие ветки 

 
shoo   (2003-04-02 16:40) [0]

Мастера, подскажите, пожалуйста, какой event формы срабатывает, когда форма уже полностью показана на экране. Т.е., мне нужно, чтобы юзер уже увидел форму и после этого выполнить какой-то код. Create, show и activate не подходят или же я неправильно их использую. Спасибо.


 
Mike Kouzmine   (2003-04-02 16:54) [1]

Установи таймер, на Show Enable := true, срабатывание - Enable := false + показывай мультик


 
Zz_   (2003-04-02 16:58) [2]

>>Mike Kouzmine

Тогда уж лучше PostMessage(Handle, WM_USER+100


 
Anatoly Podgoretsky ©   (2003-04-02 17:02) [3]

Более системный подход, но по сути таймер так и работает, только лишний компонент.
Только не в OnShow, а в OnCreate


 
shoo   (2003-04-02 17:19) [4]

2 Mike Kouzmine: Немного не понял, а срабатывание где отследить? В onshow?


 
Smashich ©   (2003-04-02 17:26) [5]

Create возникает после конструктора формы

show при показе окна на экране
activate возникает при получении фокуса окном

чего не хватает то?



 
panov ©   (2003-04-02 17:34) [6]

>shoo
Нет такого события.

Таймер настраивается опытным путем...


 
Smashich ©   (2003-04-02 17:37) [7]

2 panov © (02.04.03 17:34)

>shoo
Нет такого события.

а куда дели?:)


 
Mike Kouzmine   (2003-04-02 17:43) [8]

Да. На форму кладешь таймер Enable=False, на OnShow делаешь Enable=True, на OnTimer Enable=False и твой код


 
Smashich ©   (2003-04-02 18:19) [9]

может на onActivate ?

а если нужно вызывать код один раз - то последней строкой
self.OnActivate:=nil....?


 
ZmeiGorin ©   (2003-04-02 18:33) [10]

Я вешаю на application.onactivate


 
shoo   (2003-04-03 09:27) [11]

2 Mike Kouzmine:
Спасибо. Теперь все работает как надо.
2 ZmeiGorin:
А на application.onactivate как повесить? Кусочек кода, если можно.


 
Shirson ©   (2003-04-03 09:56) [12]

Я такое на application.onidle делал. И ничего экспериментально подбирать не нужно было.


 
ZmeiGorin ©   (2003-04-03 10:42) [13]

procedure TMySupaDupaCoolForm.AppActivate(sender:TObject);
begin
application.onactivate:=nil;
твой код...
end;

...в create: application.onactivate:=Appactivate;
Или воспользоваться компонентом AppEvents(кажется, так)



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

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

Наверх




Память: 0.49 MB
Время: 0.019 c
1-44138
Антон
2003-04-03 13:18
2003.04.14
освобождение памяти распределенной в dll


1-44194
Puzzle
2003-04-01 13:25
2003.04.14
Как удалить все файлы из какого-либо каталога?


4-44510
mbIkola
2003-02-12 19:52
2003.04.14
Знатоки в чем ошибка с хуком WH_CBT и TAPISRV ??


14-44394
Дмитрий К.К.
2003-03-26 11:50
2003.04.14
Именинники 26 марта


4-44509
dums
2003-02-13 23:29
2003.04.14
такие разные handle-ы