Конференция "Основная" » Собственная отрисовка иконок в TreeView и ListView [D7, WinXP]
 
  • Заикин Сергей (13.04.09 14:26) [0]
    Можно ли сделать собственную отрисовку иконок в TreeView и ListView таким образом, чтобы остальные действия (например, выделение элементов, отрисовка значка + и линий в TreeView) производила сама система? Или придется все события прописывать самому?
    Как сделать так, чтоб при выделении элемента в ListView на иконку не накладывалась синяя маска?
  • DimaBr © (13.04.09 14:54) [1]
    Вы пишите новый компонент ?
  • Заикин Сергей (13.04.09 15:09) [2]
    Нет, есть Delphi 7 c подключенными компонентами PNGComponents и AlphaControls. Через PNGImageList загружаю png рисунки, а затем их отображаю в sTreeView и sListView (они наследники от компонентов Delphi). Но прозрачность этих рисунков отображается некорректно - полупрозрачные элементы рисуются цветом по белому фону, особенно хорошо это заметно при установке темных скинов.
  • DimaBr © (13.04.09 15:11) [3]
    Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
    Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.
  • Заикин Сергей (13.04.09 15:35) [4]
    Прошу прощения за выбор некорректного раздела для размещения темы.
  • Игорь Шевченко © (13.04.09 16:33) [5]

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


    Самому придется описывать только одно событие, точнее его обработчик - OnDrawItem. Но никто не мешает самому же сделать ImageList-ы и положить туда иконки, чтобы их рисовала система.
  • Заикин Сергей (13.04.09 16:51) [6]
    Этот вариант не проходит (см. http://www.alphaskins.com/forum/index.php?showtopic=4178). При отрисовке в расширенном варианте события в PostPaint получаются проблемы уже с выделением (у меня почему-то выделенный текст иконки использует другой размер шрифта)...
  • Игорь Шевченко © (13.04.09 17:09) [7]

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


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


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


    И че ?
  • Заикин Сергей (13.04.09 17:29) [8]
    Второй - система некорректно отрисовывает png на ListView и TreeView (это хорошо заметно, если запустить пример, расположенный по выше приведенной ссылке). А первый - смогу сказать только вечером (мне от него пришлось отказаться, осталось вспомнить почему).
  • Игорь Шевченко © (13.04.09 17:30) [9]

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


    так это наверное ограничения стандартного ImageList ? Где-то уже была про это информация, вот Developer Express, например, для него замену сделал.
  • Заикин Сергей (14.04.09 09:04) [10]
    Указанные вами компоненты, во-первых, платны, а, во-вторых, не поддаются скинированию...
  • DVM © (14.04.09 19:02) [11]

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

    Может взять VirtualTreeView. Там есть все что угодно, в том числе и PNG. И он не на основе ListView. Он полностью с нуля написан на Delphi. На "...TreeView" в названии можно не обращать внимания - этот компонент и TreeView и ListView и еще несколько вещей в одном флаконе. Очень гибкий и быстрый.
 
Конференция "Основная" » Собственная отрисовка иконок в TreeView и ListView [D7, WinXP]
Есть новые Нет новых   [134467   +7][b:0][p:0]