1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Delphi - регулировка высоты строки в TreeView

Тема в разделе "Программирование", создана пользователем Devillio, 16.09.13.

  1. Devillio

    Devillio Активный участник

    1.198
    2
    Помогите?
    Вот такой код:
    позволяет увеличить нужному узлу дерева высоту. Однако срабатывает это так:
    [​IMG]
    Кто-нибудь знает как дорисовывать линии или может вообще решал точно такое же?
    Спасибо.
     
  2. qwertEHOK

    qwertEHOK Активный участник

    3.093
    57
  3. Раф

    Раф Участник

    316
    0
    TTVItemEx объект не стандартный?

    Можно расковырять исходники компонента и посмотреть, как происходит отрисовка.
    Если память не изменяет, было событие такое OnDrawItem, т.е. вы сами будете дорисовывать точки, а возможно и текст.
    И самая лучшая идея! В стиле Delphi! Найти нормальный компонент для отображения дерева. Советую DEV Express. И не изобретать велосипед..
     
  4. Devillio

    Devillio Активный участник

    1.198
    2
    DEV Express, если не изменяет озу, стоит порядка $1к, мне сток не дадут.
    OnDrawItem опубликованного у TTreeView нет, но там есть OnAdvancedCustomDrawItem, который вызывается, если я правильно понял, 4 раза: при предстирании, стирании, предрисовке и пострисовке. Там доступен Node, с него можно взять Canvas, отпределять не последний ли это Node у родителя, и в зависимости от этого делать CopyRect верхней части половинки канваса в нижнюю:
    [​IMG]
    TTVItemEx - штука из WinApi.CommCtrl
     
  5. Hermes

    Hermes Активный участник

    11.635
    2
    Devillio, на stackoverflow вам ответить не смогли?