Форум — Ответы ( К темам )
? | Дикий: Проблема отображения окна во время выполнения приложения. (09-04-2003 10:48:13) |
У меня возникла такая проблема. Я, создаю таблицу, выбирая нужные мне данные из 15 таблиц, так как процесс относительно длительный используется отображение хода процесса (ProgressBar), но помимо этого я поставил Label и к ней обращаюсь, чтобы показывала какая таблица в данный момент обрабатывается. Проблема: 1) во время выполнения процесса Label не меняется на экране(только по завершении процесса пишется имя соответственно последней таблицы); 2) если во время процесса свернуть окно, а потом развернуть, то все размыто и виден только ход отображения процесса (после окончания процесса все нормально отображается). Пожалуйста может кто скажет в чем проблема (я новичек). | |
Alexander (09-04-2003 13:53:02) | |
Дело в том, что вся отрисовка изменений происходит по сообщению WM_PAINT и т.д. — только тогда контрол начинает себя перерисовывать... А чтобы он получил это сообщение, нужно процессорное время параллельно с основной работой. Поэтому в любых длительных операциях нужно в циклы вставлять вызов Application->ProcessMessages() ... Эта фукнция все накопившиеся сообщения распределит между получателями. Тогда и проихойдет отрисовка и все будет нормально.
| |
Дикий (09-04-2003 14:15:49) | |
Спасибо Alexander!
|