-
Можно ли сделать собственную отрисовку иконок в TreeView и ListView таким образом, чтобы остальные действия (например, выделение элементов, отрисовка значка + и линий в TreeView) производила сама система? Или придется все события прописывать самому? Как сделать так, чтоб при выделении элемента в ListView на иконку не накладывалась синяя маска?
-
Вы пишите новый компонент ?
-
Нет, есть Delphi 7 c подключенными компонентами PNGComponents и AlphaControls. Через PNGImageList загружаю png рисунки, а затем их отображаю в sTreeView и sListView (они наследники от компонентов Delphi). Но прозрачность этих рисунков отображается некорректно - полупрозрачные элементы рисуются цветом по белому фону, особенно хорошо это заметно при установке темных скинов.
-
Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE. Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.
-
Прошу прощения за выбор некорректного раздела для размещения темы.
-
> Можно ли сделать собственную отрисовку иконок в TreeView > и ListView таким образом, чтобы остальные действия (например, > выделение элементов, отрисовка значка + и линий в TreeView) > производила сама система? Или придется все события прописывать > самому?
Самому придется описывать только одно событие, точнее его обработчик - OnDrawItem. Но никто не мешает самому же сделать ImageList-ы и положить туда иконки, чтобы их рисовала система.
-
-
-
Второй - система некорректно отрисовывает png на ListView и TreeView (это хорошо заметно, если запустить пример, расположенный по выше приведенной ссылке). А первый - смогу сказать только вечером (мне от него пришлось отказаться, осталось вспомнить почему).
-
> Второй - система некорректно отрисовывает png на ListView > и TreeView
так это наверное ограничения стандартного ImageList ? Где-то уже была про это информация, вот Developer Express, например, для него замену сделал.
-
Указанные вами компоненты, во-первых, платны, а, во-вторых, не поддаются скинированию...
-
> Заикин Сергей (13.04.09 14:26)
Может взять VirtualTreeView. Там есть все что угодно, в том числе и PNG. И он не на основе ListView. Он полностью с нуля написан на Delphi. На "...TreeView" в названии можно не обращать внимания - этот компонент и TreeView и ListView и еще несколько вещей в одном флаконе. Очень гибкий и быстрый.
|