Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Медленная отрисовка TPageControl под WindowsXP


Автор: bazzzman 29.8.2006, 10:43
Я использую Delphi 7, визуальные темы XP включены.

Делаем:
1. Новый проект
2. Кидаем на форму TPageControl
3. TPageControl.Align := alClient
4. Лучше сделать форму побольше размером, например 800*600
5. Запускаем приложение, ресайзим форму

В итоге видим неприятное мерцание при отрисовке TPageControl.
Скажите, пожалуйста - есть ли способ это побороть?

Автор: Alexeis 29.8.2006, 11:20
В onCreate формы включить двойную буферизацию
DoubleBuffered := True;

Автор: bazzzman 30.8.2006, 03:58
Попробовал. Для формы не работает. А вот если сделать:
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
 PageControl1.DoubleBuffered := True;
end;

Все нормально рисуется. Мерцание пропало, спасибо  smile 
Про DoubleBuffered слышу в первый раз, буду дальше сам копать в этом направлении.

И все же - почему не работает:
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
 DoubleBuffered := True;
end;


Автор: Yanis 30.8.2006, 11:07
bazzzman
Мне например в таком случае приходится включать DoubleBuffered и для формы и для закладок:
Код
procedure TForm1.FormCreate(Sender: TObject);
begin
  DoubleBuffered := True;
  PageControl1.DoubleBuffered := True;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)