Главная страница
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.029 c
4-1171368057
Larsik
2007-02-13 15:00
2007.07.22
Получение owner a файла


4-1171121208
DevilDevil
2007-02-10 18:26
2007.07.22
Добавить пункт к контекстному меню.


15-1182492854
kert
2007-06-22 10:14
2007.07.22
Хочу установить


15-1182807961
4ell
2007-06-26 01:46
2007.07.22
3 вопроса


2-1182838008
Kolan
2007-06-26 10:06
2007.07.22
Как клонировать форму проекта?