Вниз
Скачать: 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
1-44158
Шишкин Илья
2003-04-03 16:13
2003.04.14
помогите с TColor


7-44473
Kiddy
2003-01-23 18:41
2003.04.14
Быстро читаю Com порт. Через некоторое время прога <вылетает>


14-44362
Демонов Е.В.
2003-03-31 04:20
2003.04.14
Сигмент : Смещение


14-44383
Johnmen
2003-03-25 12:16
2003.04.14
Какой я плохой/хороший человек


14-44412
Красная майка
2003-03-13 12:20
2003.04.14
Есть мнение, что надо встретиться!




   Наверх