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

Вниз

Собственная отрисовка иконок в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
3-1235913922
sco
2009-03-01 16:25
2010.03.07
ошибка в SQL коде


4-1229864623
Максим
2008-12-21 16:03
2010.03.07
взаимодействие с проводником windows


15-1261394309
Б
2009-12-21 14:18
2010.03.07
Стрелки в Word 2007.


15-1260997140
Кто б сомневался
2009-12-16 23:59
2010.03.07
Web при помощи Delphi


2-1261983766
Who_is_you?
2009-12-28 10:02
2010.03.07
Как сделать проверки через каждые 20 микросекунд?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский