Показать сообщение отдельно
  #1  
Старый 02.05.2012, 11:13
yujin1st yujin1st вне форума
Прохожий
 
Регистрация: 02.05.2012
Сообщения: 2
Версия Delphi: xe2
Репутация: 10
По умолчанию Создание и отображение большого количества Tlabel run-time

Здравствуйте.
В своем приложении я постоянно создаю и удаляю объекты Tlabel, для отображения данных. Проблема в том, что при отображении уже 20 надписей возникает ощутимая задержка. DoubleBuffered на родительском не помогает. Application.ProcessMessages лишь позволяет наблюдать за процессом создания, а не смотреть на застывшее окно.
Код:
  
// в цикле создаем надписи.
        aLabel:=TLabel.Create(scrlbx);
        labels.Add(aLabel); // список TList для последующей работы 
        with aLabel do begin
          Left:=pointLeft;
          Top:=pointTop;
          Caption:='title';
          parent:=scrlbx; //TScrollBox
        end;
        pointTop:=pointTop+20;
Чуть ускорил дело вынос из цикла создания в другой последующий цикл процесс присвоения родителя. Но проблему не решил.
Код:
for I := 0 to labels.Count-1 do begin
     TLabel(labels[i]).Parent:= scrlbx;
  end;

Выключение и включение параметра Visible до и после циклов также не спасает.
Ответить с цитированием