Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
3-1123827257
leha
2005-08-12 10:14
2005.09.25
Картинка в поле БД


14-1125088645
ronyn
2005-08-27 00:37
2005.09.25
Что означают в Делфи разделы privat, public.


1-1125466170
Kot Andrei
2005-08-31 09:29
2005.09.25
событие на динамически созданный компонент


14-1123926778
Piter
2005-08-13 13:52
2005.09.25
Таненбаум, книги


1-1125964814
Wood
2005-09-06 04:00
2005.09.25
Про сис. реестр




   Наверх