Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Listbox


Bobby Digital ©   (2004-11-23 01:15:00) 

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


Mishenka   (2004-12-01 10:43:00) [1]


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


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


GuAV   (2004-11-25 15:16:00) [2]

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


zz 5   (2004-11-25 12:12:00) [3]

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


Bobby Digital   (2004-11-25 11:46:00) [4]


> GuAV ©


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


Bobby Digital   (2004-11-24 01:44:00) [5]

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


GuAV   (2004-11-24 01:29:00) [6]

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


Bobby Digital   (2004-11-24 00:47:00) [7]

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

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

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

ListBox1DrawItem();


ssk   (2004-11-23 16:54:00) [8]

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


Shama_n   (2004-11-23 15:57:00) [9]

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


GuAV   (2004-11-23 13:49:00) [10]

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


GuAV   (2004-11-23 13:48:00) [11]

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


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


Pirat1   (2004-11-23 13:16:00) [12]


> GuAV ©


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


GuAV   (2004-11-23 12:50:00) [13]

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


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


ssk   (2004-11-23 12:10:00) [14]

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

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


Bobby Digital   (2004-11-23 11:37:00) [15]

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


GuAV   (2004-11-23 01:29:00) [16]


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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо