Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.23;
Скачать: CL | DM;

Вниз

ListBox row подсветка?   Найти похожие ветки 

 
Eugenex   (2003-01-13 11:11) [0]

Как изменить цвет background у определенной строки ListBox ?
Которая в неком поле(Subitem) имеет такое то значение.


 
Eugenex   (2003-01-13 11:13) [1]

Sorry, опечатка: не ListBox, а ListView !


 
Рыжик ©   (2003-01-13 11:23) [2]

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if <чего-то там> then
ListView1.Canvas.Brush.Color:=clBlue
else
ListView1.Canvas.Brush.Color:=clWhite;
end;


 
Eugenex   (2003-01-13 14:28) [3]

Ну почти))) но чувствую себя неважно!((
Вот сделал:
procedure mainf.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
IF ListView1.Items.Count > 2 then
IF ListView1.Items.Item[ListView1.Items.Count-2].SubItems.Strings[4] = "Total"
then ListView1.Canvas.Brush.Color:=clAqua;
end;

Выделяет на строку ниже. Верно по коду так и есть. Если сделать
ListView1.Items.Count-1 то полный аут.(


 
Рыжик ©   (2003-01-13 14:44) [4]

if Item.SubItems.Strings[4] = "Total"
then ListView1.Canvas.Brush.Color:=clAqua //закрашиваем Total
else ListView1.Canvas.Brush.Color:=clWhite;//остальные не закрашиваем




 
Eugenex   (2003-01-14 10:37) [5]

Привет Рыжик!

Номер не пройдет!))
Смысл следующий: наполняется вьювер данными, и по ходу дела
если в 5-м столбе это слово "total" то всю строку надо подсвечивать.
Причем начиная с ПЕРВОГО столбика, в то время как слово ТОЛЬКО во 5-м!

Ех,не мала баба клопоту, а купила...дельфи!)))


 
still ©   (2003-01-14 10:50) [6]

procedure TfmMain.lvSwLogAdvancedCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
Stage: TCustomDrawStage; var DefaultDraw: Boolean);
begin
if StrToInt(Item.Caption)<3 then
begin
Sender.Canvas.Brush.Color := clRed;
Sender.Canvas.Font.Color := clWhite;
end;
if (Item.SubItems[0][1]="*") or (Item.SubItems[0][1]=".") then
begin
Sender.Canvas.Brush.Color := clSilver;
Sender.Canvas.Font.Color := clBlue;
end;
end;

Вот. Если в первой колонке число меньше 3, то закрашивает строку красным.
Если вторая колонка начинается с * или ., то закрашивает синим и менят цвет текста.


 
Eugenex   (2003-01-14 19:17) [7]

СПАСИБО !!!

Вопрос в догонку - сколько данных maximum (в кб) можно закачать в ListView ?



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

Текущий архив: 2003.01.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
1-72405
Петров Денис
2003-01-13 12:28
2003.01.23
Форма из DLL


3-72035
Ig0r
2002-12-27 18:09
2003.01.23
Тип поля таблицы


4-72599
Torn
2002-12-08 11:39
2003.01.23
Работа с диском


7-72561
Vitaly_S
2002-11-12 22:17
2003.01.23
Звуковая Карта


3-72114
Elshad
2002-12-25 14:53
2003.01.23
Версия Microsoft Jet OLE DB