Главная страница
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.039 c
14-72514
Дмитрий К.К.
2003-01-05 06:35
2003.01.23
Именинники 5 января


1-72247
AM
2003-01-14 17:27
2003.01.23
Как запустить процесс после закрытия формы?


1-72194
Yury
2003-01-14 08:45
2003.01.23
Всплывающее меню


7-72554
BJValentine
2002-11-12 18:58
2003.01.23
Прога - невидимка


14-72505
gorv
2003-01-06 19:22
2003.01.23
DELHI + POCKET STUDIO (PALM)