Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.07;
Скачать: CL | DM;

Вниз

Собственная отрисовка иконок в TreeView и ListView   Найти похожие ветки 

 
Заикин Сергей   (2009-04-13 14:26) [0]

Можно ли сделать собственную отрисовку иконок в TreeView и ListView таким образом, чтобы остальные действия (например, выделение элементов, отрисовка значка + и линий в TreeView) производила сама система? Или придется все события прописывать самому?
Как сделать так, чтоб при выделении элемента в ListView на иконку не накладывалась синяя маска?


 
DimaBr ©   (2009-04-13 14:54) [1]

Вы пишите новый компонент ?


 
Заикин Сергей   (2009-04-13 15:09) [2]

Нет, есть Delphi 7 c подключенными компонентами PNGComponents и AlphaControls. Через PNGImageList загружаю png рисунки, а затем их отображаю в sTreeView и sListView (они наследники от компонентов Delphi). Но прозрачность этих рисунков отображается некорректно - полупрозрачные элементы рисуются цветом по белому фону, особенно хорошо это заметно при установке темных скинов.


 
DimaBr ©   (2009-04-13 15:11) [3]

Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.


 
Заикин Сергей   (2009-04-13 15:35) [4]

Прошу прощения за выбор некорректного раздела для размещения темы.


 
Игорь Шевченко ©   (2009-04-13 16:33) [5]


> Можно ли сделать собственную отрисовку иконок в TreeView
> и ListView таким образом, чтобы остальные действия (например,
>  выделение элементов, отрисовка значка + и линий в TreeView)
> производила сама система? Или придется все события прописывать
> самому?


Самому придется описывать только одно событие, точнее его обработчик - OnDrawItem. Но никто не мешает самому же сделать ImageList-ы и положить туда иконки, чтобы их рисовала система.


 
Заикин Сергей   (2009-04-13 16:51) [6]

Этот вариант не проходит (см. http://www.alphaskins.com/forum/index.php?showtopic=4178). При отрисовке в расширенном варианте события в PostPaint получаются проблемы уже с выделением (у меня почему-то выделенный текст иконки использует другой размер шрифта)...


 
Игорь Шевченко ©   (2009-04-13 17:09) [7]


> Этот вариант не проходит


Какой из двух предложенных ?


> см. http://www.alphaskins.com/forum/index.php?showtopic=4178


И че ?


 
Заикин Сергей   (2009-04-13 17:29) [8]

Второй - система некорректно отрисовывает png на ListView и TreeView (это хорошо заметно, если запустить пример, расположенный по выше приведенной ссылке). А первый - смогу сказать только вечером (мне от него пришлось отказаться, осталось вспомнить почему).


 
Игорь Шевченко ©   (2009-04-13 17:30) [9]


> Второй - система некорректно отрисовывает png на ListView
> и TreeView


так это наверное ограничения стандартного ImageList ? Где-то уже была про это информация, вот Developer Express, например, для него замену сделал.


 
Заикин Сергей   (2009-04-14 09:04) [10]

Указанные вами компоненты, во-первых, платны, а, во-вторых, не поддаются скинированию...


 
DVM ©   (2009-04-14 19:02) [11]


> Заикин Сергей   (13.04.09 14:26)  

Может взять VirtualTreeView. Там есть все что угодно, в том числе и PNG. И он не на основе ListView. Он полностью с нуля написан на Delphi. На "...TreeView" в названии можно не обращать внимания - этот компонент и TreeView и ListView и еще несколько вещей в одном флаконе. Очень гибкий и быстрый.



Страницы: 1 вся ветка

Текущий архив: 2010.03.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
15-1257258721
Romkin
2009-11-03 17:32
2010.03.07
Конкурс на Исходниках. С призами


2-1261572735
Shamansky
2009-12-23 15:52
2010.03.07
Access 2007 vs Delphi 2007


2-1261744100
Who_is_you?
2009-12-25 15:28
2010.03.07
Процедура прерывания. В Delphi 7 pointer ?


15-1261338686
Kolan
2009-12-20 22:51
2010.03.07
Как найти кто жрет память


11-1213530831
Artlav
2008-06-15 15:53
2010.03.07
RichEdit: Синхронизация и ограничения.