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

Вниз

Что надо сделать для   Найти похожие ветки 

 
Aleksandr ©   (2003-06-11 15:29) [0]

Иногда какое-то количество длительных операций в дочернем окне (например, открытие наборов данных), нужно делать уже после FormCreate. И тогда получается некрасивый эффект - окно частично отрисовывается, потом подвисает в таком состоянии, и затем уже разворачивается или полностью дорисовывается. Как сделать так, чтобы дочернее окно не рисовалось до определенного момента? Невидимым его сделать нельзя - Делфи не позволяет...


 
ZEE ©   (2003-06-11 15:38) [1]

Вариант 1.
Все-таки полностью прорисовать окно:

//в FormCreate
Application.ProcessMessages;
//обработка данных


Вариант 2.
Все элементы по умолчанию - невидимы (visible=false), а после обработки (точнее даже в OnActivate формы) - visible:=true нужным компонентам...


 
clickmaker ©   (2003-06-11 15:57) [2]

Есть еще вариант 3 - длительные операции делать в отдельном потоке, который стартует из FromCreate


 
Aleksandr ©   (2003-06-11 15:59) [3]

Мда... спасибо, жаль, что альтернатив мало :(



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

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

Наверх




Память: 0.47 MB
Время: 0.026 c
1-84319
Shooraniy
2003-06-16 03:27
2003.06.26
определить подключен ли комп к интернет через диал-ап...


14-84613
Nikos
2003-06-09 16:40
2003.06.26
Вопрос по Database Desktop


14-84737
BDRON
2003-06-05 23:09
2003.06.26
Масштабирование формы


3-84011
McSimm2
2003-05-30 14:22
2003.06.26
Не конектится к ORACLE


4-84840
I:D
2003-04-25 18:09
2003.06.26
SetWindowLong(hwnd,GWL_WNDPROC,Integer(P));