Прорисовка элементов формы в Лазарус
Модератор: Модераторы
Прорисовка элементов формы в Лазарус
Я заметил, что в Лазарус, если в цикле отображать какую то информацию, например делать вывод какого то текста в StatusBar.SimpleText то это происходит как то странно, только через какие то промежутки времени, как с этим бороться?
добавить в цикл StatusBar.Update;
yurgel писал(а):добавить в цикл StatusBar.Update;
... пробовал не прокатывает!
khvalera
Дело в том, что статус бар не получает сообщение о прорисовки.
Данную проблему можно решить 2-мя способами:
1)
т.е. Принудительно запускать обработку событий. В данном случае будут прорисовываться все контролы которым это необходимо и даже тикать таймер
2)
а этот код заставит прорисовываться только сам статус бар и ваше приложение не будет отвечать на другие события.
Дело в том, что статус бар не получает сообщение о прорисовки.
Данную проблему можно решить 2-мя способами:
1)
Код: Выделить всё
...
for j:=0 to 999 do
begin
StatusBar1.SimpleText:=IntToStr(j);
Application.ProcessMessages;
end;
...т.е. Принудительно запускать обработку событий. В данном случае будут прорисовываться все контролы которым это необходимо и даже тикать таймер
2)
Код: Выделить всё
...
for j:=0 to 999 do
begin
StatusBar1.SimpleText:=IntToStr(j);
StatusBar1.Repaint;
end;
...а этот код заставит прорисовываться только сам статус бар и ваше приложение не будет отвечать на другие события.
Mr.Smart спасибо за ответ!
Application.ProcessMessages помогло
Application.ProcessMessages помогло
