Вниз
Скачать: CL | DM;

Listbox   Найти похожие ветки 

← →
Bobby Digital ©   (2004-11-23 01:15) [0]

Нужно измеить цвет одного из элементов Listbox ... как это сделать или какой другой компонент-альтернативу использовать


← →
GuAV ©   (2004-11-23 01:29) [1]


style = lbOwnerDrawFixed

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
begin
 with (Control as TListBox), Canvas do
begin
   if Index = 2 then Brush.Color := clRed;
  FillRect(Rect);
   TextOut(Rect.Left, Rect.Top, Items[Index]);
 end;
end;


← →
Bobby Digital ©   (2004-11-23 11:37) [2]

это единственний способ?


← →
ssk ©   (2004-11-23 12:10) [3]

>это единственний способ?

а что, этого разве недостаточно?
можно еще своего потомка от ListBox"а сделать с соответствующими методами и свойствами.


← →
GuAV ©   (2004-11-23 12:50) [4]

Bobby Digital ©   (23.11.04 11:37) [2]
это единственний способ?


А чем не устраивает ?


← →
Pirat1   (2004-11-23 13:16) [5]


> GuAV ©


А как сделать различным цвет каждой буквы нужной строки?


← →
GuAV ©   (2004-11-23 13:48) [6]

Pirat1   (23.11.04 13:16) [5]
А как сделать различным цвет каждой буквы нужной строки?


Выводить по одной букве в цикле, меняя цвет. X - координату брать из PenPos, чтобы инициализировать для первой - MoveTo.


← →
GuAV ©   (2004-11-23 13:49) [7]

PS: и зачем такое извращение ? :-)


← →
Shama_n ©   (2004-11-23 15:57) [8]

> PS: и зачем такое извращение ?
Полагаю принципиально новая схема новогодней елки


← →
ssk ©   (2004-11-23 16:54) [9]

человек наверное эффект перемигивающейся строки делает, как список в аське, при появлении новой записи


← →
Bobby Digital ©   (2004-11-24 00:47) [10]

GuAV большое спасибо за помощь, но

Я не совсем понимаю с какиеми параметрами вызвается данная процедура

можешь написать что озн каждий параметр и где увазыватся
style = lbOwnerDrawFixed

ListBox1DrawItem();


← →
GuAV ©   (2004-11-24 01:29) [11]

У ListBox есть свойство (property) style и событие (event) OnDrawItem. Параметры Control - сам ListBox,  Index - номер рисуемого item,  Rect -Месо рисуемого Item,  State - состояние его. TListbox + F1 поможет.


← →
Bobby Digital ©   (2004-11-24 01:44) [12]

Большое спасибо !


← →
Bobby Digital ©   (2004-11-25 11:46) [13]


> GuAV ©


а при вызове процедуры ListBox1DrawItem из другой процедуры что указать в параметре Rect
я вызываю так
ListBox1DrawItem(Listbox1,Listbox1.ItemIndex,...,ibOwenerDrawFixed);
а что в rect указать
...
вообщем мне нужно сравнить один лист с другим и в том случае если имеются одинаковые елементы то выделить их цветом


← →
zz 5 ©   (2004-11-25 12:12) [14]

Bobby Digital ©   (25.11.04 11:46) [13]
Не надо вызывать эту процедуру явно, она будет вызываться сама, когда листбокс будет перерисовываться


← →
GuAV ©   (2004-11-25 15:16) [15]

... а явно указать необходимость перерисовки можно методом Invalidate.


← →
Mishenka   (2004-12-01 10:43) [16]


> GuAV ©   (24.11.04 01:29) [11]
> State - состояние его.


А как это состояние изменит вручную?



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

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



Память: 0.48 MB
Время: 0.043 c
14-1100999523
olookin
2004-11-21 04:12
2004.12.12
Когда в Вашем городе начинает ходить общ. транспорт?


14-1101124657
menart
2004-11-22 14:57
2004.12.12
У кого есть delphi7


3-1099469147
Sergy Ivanec
2004-11-03 11:05
2004.12.12
Interbase, проблема с большим числом записей


14-1101104384
Sash
2004-11-22 09:19
2004.12.12
w98 wxp


10-1071166334
epflorov
2003-12-11 21:12
2004.12.12
20 декабря сайту corbajeb 2 года :). Поздравляю.




   Наверх