Главная страница
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.052 c
5-1100092024
Змей
2004-11-10 16:07
2005.09.25
установка компоненты


2-1124049275
СА
2005-08-14 23:54
2005.09.25
Печать


14-1125236692
Chuvak
2005-08-28 17:44
2005.09.25
Delphi 7.1 Update Install


1-1125410721
CrowD
2005-08-30 18:05
2005.09.25
Вызов метода минуя непосредственного предка?


6-1117473192
juice
2005-05-30 21:13
2005.09.25
Подводная часть айсберга TCP/IP