![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;