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

Вниз

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

 
kyn66 ©   (2005-08-29 16:30) [0]

Пытаюсь нарисовать в листбоксе строки разными цветами таким образом:

 Listbox1.Items.AddObject(Edit1.Text, Pointer(StrToInt(Edit2.Text)));
 ListBox1.Perform(LB_SETTOPINDEX, Pred(ListBox1.Items.Count), 0);

procedure TMainFrm.ListBox1DrawItem(Control: TWinControl; Index: Integer;
                                   Rect: TRect; State: TOwnerDrawState);
var
 l: Integer;
 t: String;
begin
 with ListBox1 do
 begin
   if Integer(Items.Objects[Index]) = 1 then
    Font.Color := clRed
   else
    Font.Color := clBlack;

   Canvas.FillRect(Rect);
   t := Items[Index];
   l := Rect.Right - Canvas.TextWidth(t) - 1;
   Canvas.TextOut(l, Rect.Top, t);
 end;
end;

При добавлении итемов, они начинают мерцать как гирлянда, что это такоеможет быть?

Не знаю, ешшо добавлено это, но оно наверное не причем:

procedure TMainFrm.FormResize(Sender: TObject);
begin
 ListBox1.Repaint;
end;


 
begin...end ©   (2005-08-29 16:37) [1]

> kyn66 ©   (29.08.05 16:30)

> При добавлении итемов, они начинают мерцать как гирлянда

Они в цикле добавляются, что ли? И LB_SETTOPINDEX -- тоже в цикле?


 
Pearled ©   (2005-08-29 16:39) [2]

вместо этого
   Font.Color := clRed
  else
   Font.Color := clBlack;
напиши
   Canvas.Font.Color := clRed
  else
   Canvas.Font.Color := clBlack;


 
kyn66 ©   (2005-08-29 17:01) [3]

>> Да ! Canvas.Font.Color помогло ! А что это было?



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

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

Наверх




Память: 0.47 MB
Время: 0.05 c
14-1125577447
Джо
2005-09-01 16:24
2005.09.25
Oberon System


14-1125498070
hamster
2005-08-31 18:21
2005.09.25
Thumbs.db


1-1125986905
granni
2005-09-06 10:08
2005.09.25
OpenDialog


4-1122901949
Shopot
2005-08-01 17:12
2005.09.25
Как отловить сообщение в дочернем потоке?


9-1115386078
Grell
2005-05-06 17:27
2005.09.25
Lines