Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.015 c
14-44408
FLIZ
2003-03-28 15:21
2003.04.14
Как определить длину RTF текста? (+)


1-44130
mazepa
2003-04-03 09:18
2003.04.14
Line


3-43992
Lion
2003-03-23 19:20
2003.04.14
Как через Query открыть базу для редеактирования?


3-44025
Nikola62
2003-03-25 13:00
2003.04.14
Paradox 4.5 for Dos. Как отобразить данные в Гриде?


9-43976
Phantom 13
2002-11-15 07:54
2003.04.14
Вопрос сохранения ресурсов...




   Наверх