Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
1-72241
Андрусь
2003-01-14 13:15
2003.01.23
как правильно прочитать данные


3-72087
TTCustomDelphiMaster
2002-12-28 19:44
2003.01.23
Как обмануть DBGrid


3-72086
KIR
2002-12-25 21:46
2003.01.23
Как сделать, чтобы Detail бэнд в FR не рабвался постранично?


1-72170
Vladimir
2003-01-11 10:40
2003.01.23
Интерфейс


1-72401
MyNameIsVova
2003-01-13 17:13
2003.01.23
Координаты курсора мыши.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский