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

Вниз

Серое мелькание при перерисовке   Найти похожие ветки 

 
Сергей Петров   (2005-06-22 08:09) [0]

При изменении содержания tpanel или tlabel или чего-нибудь подобного, когда они перерисовываются мелькает серый цвет (компоненты сами - желтые). Как этого избежать?


 
Satan jr.   (2005-06-22 08:20) [1]

Попробуй сделать так:

Procedure TForm1.FormCreate(Sender: TObject);
 begin
  Panel1.DoubleBuffered:=true;
 end;

Это снизит скорость, но устранит мерцание (flicker)


 
тихий вовочка ©   (2005-06-22 09:00) [2]

Вопрос вдогонку: а не обработка ли WM_ERASEBKGND мерцает? Можно ли ее отключить?


 
-=XP=- ©   (2005-06-22 09:27) [3]

 TSomeClass = class
 private
   procedure WMEraseBkGnd(var AMsg: TWMEraseBkGnd); message WM_ERASEBKGND;
 ...

procedure TSomeClass.WMEraseBkGnd(var AMsg: TWMEraseBkGnd);
begin
 AMsg.Result := 1; // Ненулевое возвращаемое значение является признаком того, что задний фон (background) уже стерт/прорисован, и системе не надо его стирать/прорисовывать.
end;


Использовать такое решение можно лишь в том случае, если контрол в последующем будет полностью прорисовывать занимаемую область. В противном случае будет "мусор".



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

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

Наверх




Память: 0.47 MB
Время: 0.056 c
3-1117618656
Koala
2005-06-01 13:37
2005.07.11
Помогите создать запрос (Firebird 1.5)


6-1112546332
San Sanich
2005-04-03 20:38
2005.07.11
Как узнать открыт ли определенный UDP-порт на заданой машине


1-1118822202
Sparrow
2005-06-15 11:56
2005.07.11
Large Fonts. Ползут контролы а формы-овнеры не ресайзятся


14-1116828273
Priest
2005-05-23 10:04
2005.07.11
Кто-нибудь качал Update 3 для D2005


14-1118726840
Тульский
2005-06-14 09:27
2005.07.11
Майкл Джексон