Форум: "Начинающим";
Текущий архив: 2007.07.22;
Скачать: [xml.tar.bz2];
ВнизПри перерисовке мелькает 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.captionif 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;{Óñò WgComp. Âûâîä â ðåöåïò}
...
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c