TVirtualDrawTree. , node .
, :
1.- OnInitNode, , node :
Node.States := node.States + [vsMultiline] - [vsHeightMeasured];
2.- OnMeasureItem, (, node ), , , :
OnMeasureItem:
If (Node = Nil) Or (Node = tree.RootNode) Then Begin
Exclude(Node.States, vsHeightMeasured);
Exit;
End;
NodeData := tree.GetNodeData(Node);
If (NodeData = Nil) Or (NodeData^.XMLNode = Nil) Then Begin
Exclude(Node.States, vsHeightMeasured);
Exit;
End;
Try
// Code to measure node height here.
Except
Exclude(Node.States, vsHeightMeasured);
End;
, .