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

Вниз

Исчезает надпись.   Найти похожие ветки 

 
Jony ©   (2002-12-13 10:46) [0]

Мастера! Объясните, пожалуйста, в чем дело?
Ставлю на форму панель, на которую помещаю ProgressBar и Label с соотведствующей предупреждающей надписью о прохождении процесса. У панели visual = false. В нужный момент делаю ее видимой. В зависимости от определенных условий на форме после появления панели может появиться еще и MessageDlg. И вот какая получается лажа. Если MessageDlg не появляется - не появляется и надпись на Label (причем, даже если должен, а я его просто глушил). Пробовал и язык менять, и вместо панели GroupBox с соответствующим заголовком (текстом с Label) ставить. Эффект тот-же. Где собака порылась?


 
Song ©   (2002-12-13 10:50) [1]

Собака порылась в Application.ProceeMessages
Поставь её внутрь цикла где у тебя просходят события, приводящие к изменению TProgressBar.Progress


 
Jony ©   (2002-12-13 11:01) [2]

Спасибо большое, помогло! Правда поставил я его спазу после визуализации панели.


 
Matolch ©   (2002-12-13 11:10) [3]

Для того, чтоб обеспечить перерисовку формы и/или обработку других сообщений вiндовс, след использовать метод Update или Application.ProcessMessages. При вызове MessageDlg приложением было получено сообщение WM_PAINT, на что форма и ответила, показав панель и проч.
Что кас. Application.ProcessMessages:
бывают очень неудачные прменения, например, когда пользователь ещё раз кликнет на кнопке вызова процесса. В этом случае надо Button.Enabled := false после входа в цикл.
Update - просто перерисовка.
В общем, если нет нужды перерисовывать форму постоянно, можно вызвать метод Update сразу после того, как показал панель, так и цикл быстрее выполняться будет.



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
14-74981
Romychk
2002-11-29 11:32
2002.12.23
Вирусы


3-74609
Kurt
2002-12-03 13:12
2002.12.23
ЛЮДИ! ПОМОГИТЕ! как мне организовать поиск в гриде, установив


1-74783
VladTen
2002-12-11 09:31
2002.12.23
Как опреледить имя компьютера


1-74641
Ag2002
2002-12-10 14:48
2002.12.23
Ожидание


14-74949
Hill1
2002-12-02 17:44
2002.12.23
CreateProcess