Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.037 c
2-1182239087
Сергей Макс.
2007-06-19 11:44
2007.07.22
Delphi и оболочка


15-1182330618
sergeyst
2007-06-20 13:10
2007.07.22
Найти макс из чисел, встречающееся в матрице более 1-го раза


2-1183010969
Phoenix
2007-06-28 10:09
2007.07.22
TreeView , как пробежатся по нему?


3-1177048463
MZ
2007-04-20 09:54
2007.07.22
Фильтр в DBGridEh


1-1179287475
kukuikar
2007-05-16 07:51
2007.07.22
Синхронизатор: проблема быстрой проверки большого кол-ва файлов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский