@Remus, here you have a simple example of adding nodes.
Adding Node Root (Level 0)
Var Node : TTreeNode; begin //function TTreeNodes.Add(Sibling: TTreeNode; const S: string): TTreeNode; Node:=TreeView1.Items.Add(nil,'My Root Node') ; Node.ImageIndex:=0;//now you can change any property of the node end;
Adding a Node child (level> 0)
//in this case we add a child node in the current selected node. Var Node : TTreeNode; begin if TreeView1.Selected= nil then exit; Node:=TreeView1.Items.AddChild(TreeView1.Selected,'My Child Node') ; Node.ImageIndex:=0;//now you can change any property of the node end;
Adding multiple nodes
if you want to add many nodes using a loop or something else you should use BeginUpdate before making changes to the tree structure. When all changes complete the call to EndUpdate to show the changes on the screen. BeginUpdate and EndUpdate prevent excessive redrawing and speed up processing time when nodes are added, deleted or inserted.
Var Node : TTreeNode; i : Integer; begin TreeView1.Items.BeginUpdate; try for i:=1 to 100 do begin Node:=TreeView1.Items.Add(nil,'My Root Node '+IntToStr(i)) ; Node.ImageIndex:=0; end; finally TreeView1.Items.EndUpdate; end; end;
About disabling node, there is no such property.
Rruz
source share