Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

мерцание в ListBox   Найти похожие ветки 

 
Gear   (2004-08-17 19:16) [0]

Добрый день, Господа! Помогите пожалуйста разобраться. Каждые 500 мс делаю ListBox1.Repaint; чтобы обновлять статус в ListBox (пытаюсь примерно реализовать такой же эффект как в ICQ online/offline)
Внизу часть недописанного кода который просто выводит иконку, логин и надпись online в каждой строчке.
Всё вроде нормально, но вижу мерцание на ListBox. Что я делаю не так и как от него избавиться?


procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
var
S:string;
N:Word;
begin

with (Control as TListBox), Canvas do
begin
 Canvas.FillRect(Rect);
 MoveTo(Rect.Left+15 + form1.ImageList2.Height, Rect.Top+3);
 SetTextAlign(Canvas.Handle, TA_LEFT OR TA_UPDATECP);

 S:=Items[Index];
 for N:=1 to Length(S) do begin
  Windows.TextOut(Canvas.Handle,0, 0, @S[N],1);
 end;

 Font.Color:= clGreen;
 Font.Size:=8;
 Windows.TextOut(Canvas.Handle,0, 0, "   online",9);

 Font.Color:=clBlue;
 Rect.Bottom:=Rect.Top + form1.ImageList2.Height;
 Rect.Right :=Rect.Left + form1.ImageList2.Width;
 Rect.Top:=Rect.Top+2;

 form1.ImageList2.Draw(Canvas,Rect.Left+8,Rect.Top,39);

end;
end;



 
VMcL ©   (2004-08-17 19:42) [1]

>>Gear  (17.08.04 19:16)

DoubleBuffered := True;
?


 
Mihey_temporary ©   (2004-08-17 21:46) [2]

Ты только это спрашивал:
http://delphimaster.net/view/1-1092756204/



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

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

Наверх




Память: 0.47 MB
Время: 0.036 c
3-1091193331
Alex_2004
2004-07-30 17:15
2004.09.05
Активные сервера MS SQL


1-1092906066
shc
2004-08-19 13:01
2004.09.05
Получение экземпляра класса за его интерфейсом


1-1092677011
AlexZ
2004-08-16 21:23
2004.09.05
external variable | {$L MyFile.obj}


3-1091870899
Grushin
2004-08-07 13:28
2004.09.05
Пароль администратора в Oracle


8-1087475591
mr. Lamer
2004-06-17 16:33
2004.09.05
Качественное сжатие