Главная страница
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.018 c
14-72538
race1
2003-01-06 12:18
2003.01.23
вопросы


14-72499
zolotov
2003-01-06 16:10
2003.01.23
Нет компонентов на вкладке Sample


14-72482
TTCustomDelphiMaster
2003-01-04 19:05
2003.01.23
Top10


3-72079
viper
2002-12-28 11:33
2003.01.23
Изменение типа и имени столбца


3-72054
Darkwin
2003-01-04 22:29
2003.01.23
оптимизация