Главная страница
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.068 c
14-1125275504
Джо
2005-08-29 04:31
2005.09.25
Загадка Дж. Литлвуда


1-1125862322
ArtemESC
2005-09-04 23:32
2005.09.25
"Выкомпилировать" функцию


9-1113483144
Qwertyk
2005-04-14 16:52
2005.09.25
С чего начинать?


9-1116158701
OSokin
2005-05-15 16:05
2005.09.25
Альфа, подсветка и поворот с DirectX


2-1124270885
Коля
2005-08-17 13:28
2005.09.25
Delphi