Вниз
Скачать: CL | DM;

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

← →
_Asph ©   (2007-06-27 10:06) [0]

На форме много компонентов, на которых есть label:Tlabel.
Через таймер происходит считывание разных устройств, и данные выводятся в
label.caption.
Замечено мигание порой, этих элементов. Убрал прозрачность, ничего не меняется.
Некрасиво. )


← →
clickmaker ©   (2007-06-27 10:13) [1]

TWinControl.DoubleBuffered?


← →
StriderMan ©   (2007-06-27 10:31) [2]


> Через таймер происходит считывание разных устройств, и данные
> выводятся в
> label.caption

if LabelX.Caption <> NewLabelXCaption then
 LabelX.Caption := NewLabelXCaption;


мысль понятна?


← →
_Asph ©   (2007-06-27 12:03) [3]


> if LabelX.Caption <> NewLabelXCaption then
>  LabelX.Caption := NewLabelXCaption;

Так и организовано.
Када идут изменения, мелькает.

> TWinControl.DoubleBuffered?
>

а что это такое?
как это применить?


← →
homm ©   (2007-06-27 12:05) [4]

> как это применить

Влоб. Ишеш под лейблом TWinControl и ставишь ему DoubleBuffered.

И не перерисовывай ты прикаддом опросе, если они 100 раз в секунду идут.


← →
_Asph ©   (2007-06-27 12:16) [5]


> Влоб. Ишеш под лейблом TWinControl и ставишь ему DoubleBuffered.


Ну нифига не понял. Просветите недалекого...
вот такое объявление в начале

Tbunc = class(TFrame)
   mec: Tkvm;
   Cwg: TLabel;
 private
. ...
 public
...
    Function  SetWg(lin:byte):Real;{&#211;&#241;&#242; WgComp. &#194;&#251;&#226;&#238;&#228; &#226; &#240;&#229;&#246;&#229;&#239;&#242;}
...
end;

И сам вывод
Function  SetWg(lin:byte):Real;
....
{Вывод на экран)}
 If FWgComp <> FBakWg then
 begin
   FBakWg := FWgComp;
   cwg.Caption := inttostr(trunc(FWgComp));
 end;

Искал DoubleBuffered что то... потерпел фиаско)))


> И не перерисовывай ты прикаддом опросе, если они 100 раз
> в секунду идут.


Тут ты прав конечно. Вообще алгоритм работы, надо убрать от визуального представления, но это позже)


← →
Tack ©   (2007-06-27 12:23) [6]

В конструкторе своего TBunc вставь строку
self.DoubleBuffered := True;

TFrame порожден от TWinControl по ходу, так что это поле там есть


← →
Pohil ©   (2007-06-27 12:24) [7]


> Искал DoubleBuffered что то... потерпел фиаско)))

Его нет в инспекторе, так что ручками. Включает двойную буферизацию, т.е. сначала кадр рисуется на битмапе в памяти, а потом отображается. Иногда помогает избавиться от мерцания.


← →
Tack ©   (2007-06-27 12:24) [8]

и Cwg.Parent должен указывать на родительский объект TBunc


← →
homm ©   (2007-06-27 12:25) [9]

> Ну нифига не понял. Просветите недалекого...

Label1.Parent.DoubleBuffered := TRUE;



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.02 c
2-1182842047
peter
2007-06-26 11:14
2007.07.22
Fast Report


1-1179300822
Кирилл_А
2007-05-16 11:33
2007.07.22
Шрифт


2-1182851785
trace
2007-06-26 13:56
2007.07.22
как можно корректно определить, что за указателем есть объект


15-1182195895
Petr V.Abramov
2007-06-18 23:44
2007.07.22
Вендекапец!


15-1182348061
Vendict
2007-06-20 18:01
2007.07.22
Проектная документация




   Наверх