Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изменить цвет или границу выделенного элемента в listview [D6, WinXP]


zam ©   (2002-06-24 17:44:00) 

При выделении элемент listview становится темно-синим, также вокруг элемента появляется граница из точек.
Хотелось бы изменить цвет выделения програмно, также не нравится что при выделении иконка также выделяется, можно ли ее не выделять, а выделить только текст?
Подскажите ПЛИЗ!!!


zam   (2002-06-24 18:59:00) [1]

По-моему это делается как-то через Canvas, но точно не помню и найти не могу, подскажите, кто знает?


zam   (2002-06-24 18:22:00) [2]

Приведи исходник плиз, если не сложно


zam   (2002-06-24 18:21:00) [3]

Нет, при обработке OnDrawItem ниче не происходит, все равно наслаивается выделение темно-синим цветом
Я пишу так:

if cdsFocused in state then
begin
ProfileItemsList.Canvas.Brush.Color:=clSkyBlue;
ProfileItemsList.Canvas.FillRect(item.DisplayRect(drLabel));
end

Никаких изменений.
И как еще сделать, чтобы выделялся текст а нге текст и иконка напротив????


Song   (2002-06-24 18:11:00) [4]

Хотя нет, наврал, хотя цвет выделения это и есть глобальная установка системы, но менять его можно, просто принудительно перерисовав выделение на событии onDrawItem.


Song   (2002-06-24 18:03:00) [5]

onDrawItem обработать - выделения не будет. Цвет - глобальная системная установка.


Наверх

Титульная страница Поиск, карта сайта Написать письмо