Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.22;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.024 c
8-1162202011
olegnik
2006-10-30 12:53
2007.07.22
Работа с растровым изображением.


2-1182757805
gentos
2007-06-25 11:50
2007.07.22
Scan


15-1182270691
DillerXX
2007-06-19 20:31
2007.07.22
Из pdf а html


2-1182935082
Chaval'
2007-06-27 13:04
2007.07.22
OpenDialog


6-1161301119
Святослав
2006-10-20 03:38
2007.07.22
Помогите сделать простое клиент-сервер приложение