powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / TListView (VCL) Как разукрасить Selected item?
8 сообщений из 8, страница 1 из 1
TListView (VCL) Как разукрасить Selected item?
    #32420629
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разукрасить обычный итем - без проблем:

Код: plaintext
1.
2.
3.
4.
5.
ListView2AdvancedCustomDrawItem(...)
{if(Item == тот_который_нужен) 
   {ListView2->Canvas->Brush->Color = clBlue;        // синий
    ListView2->Canvas->Brush->Style = bsFDiagonal;   // в полосочку :))
   }
}

А вот как разукрасить тот итем, который выделен, и у которого RowSelect = true?

...
Рейтинг: 0 / 0
TListView (VCL) Как разукрасить Selected item?
    #32420683
Snow_Man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
if (State.Contains(gdFocused)) { // или cdsSelected тонкости при мультивыборе	
     ....  
} // 
...
Рейтинг: 0 / 0
TListView (VCL) Как разукрасить Selected item?
    #32420969
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, нифига. проблема не в распознавании выделенного итема а в его разукрашивании.

При выделении строчки в ListView она становится синей (по умолчанию) и с белым шрифтом. А как её сделать фиолетовой (в горошек:) ?

...
Рейтинг: 0 / 0
TListView (VCL) Как разукрасить Selected item?
    #32421060
Snow_Man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так бы сразу и писал, в чем проблема.

Код: plaintext
1.
2.
3.
4.
5.
6.
if (State.Contains(cdsFocused)) {
     ListView1->Canvas->Brush->Color = clBlue;
     ListView1->Canvas->Brush->Style = bsFDiagonal;
     DefaultDraw =  0 ;
 }
 ListView1->Canvas->FillRect(Item->DisplayRect(drLabel));
 ListView1->Canvas->TextOut(Item->Left,Item->Top,Item->Caption);
...
Рейтинг: 0 / 0
TListView (VCL) Как разукрасить Selected item?
    #32421105
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, понятно. Спасибо. Это кардинальное решение.
Тока ещё SubItems-ы придется перерисовать.

а что такое DefaultDraw = 0 если не сикрет?

...
Рейтинг: 0 / 0
TListView (VCL) Как разукрасить Selected item?
    #32421120
Snow_Man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что такое DefaultDraw = 0 если не сикрет?
А это и есть отказ от синей полоски.

ЗЫ Как мы круче дельфистов? Там наверно никто не ответил?
...
Рейтинг: 0 / 0
TListView (VCL) Как разукрасить Selected item?
    #32421143
Фотография DarkCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ЗЫ Как мы круче дельфистов? Там наверно никто не ответил?

Да, мне там порекомендовали буквально следующее (дословно):

перехватить
OnAdvancedCustomDraw
OnAdvancedCustomDrawItem
и т.п.
Я конечно, много нового узнал.

...
Рейтинг: 0 / 0
TListView (VCL) Как разукрасить Selected item?
    #32421401
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snow_Man
В чем то круче !!!

____
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / TListView (VCL) Как разукрасить Selected item?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]