Вот такой код: function SetItemHeight(const ATreeNode: TTreeNode; const Height: Byte):Boolean; var tvItem: TTVItemEx; begin tvItem.mask := TVIF_INTEGRAL; tvItem.hItem := ATreeNode.ItemId; tvItem.iIntegral := Height; Result := Bool(SendMessage(ATreeNode.TreeView.Handle, TVM_SETITEM, 0, Longint(@tvItem))); end;
позволяет увеличить нужному узлу дерева высоту. Однако срабатывает это как на картинке.
Кто-нибудь знает как дорисовывать линии или может подсказать как правильно увеличить выборочные узлы? Спасибо.
Дополнен 10 лет назад
Да, получается, если делать копию верхней половины канваса в нижнюю при перерисовке узла. (Canvas.CopyRect). Спасибо.
var
tvItem: TTVItemEx;
begin
tvItem.mask := TVIF_INTEGRAL;
tvItem.hItem := ATreeNode.ItemId;
tvItem.iIntegral := Height;
Result := Bool(SendMessage(ATreeNode.TreeView.Handle, TVM_SETITEM, 0, Longint(@tvItem)));
end;
позволяет увеличить нужному узлу дерева высоту. Однако срабатывает это как на картинке.
Кто-нибудь знает как дорисовывать линии или может подсказать как правильно увеличить выборочные узлы?
Спасибо.