Текущий архив: 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.46 MB
Время: 0.029 c