@ Remus, здесь у вас есть простой пример добавления узлов.
Добавление корневого узла (уровень 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;
Добавление дочернего узла (уровень> 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;
Добавление множества узлов
если вы хотите добавить много узлов, используя
цикл или что-то еще, что вы должны использовать
BeginUpdate перед внесением изменений
на дерево. Когда все изменения
завершите, вызовите EndUpdate, чтобы показать
изменения на экране. BeginUpdate и
EndUpdate предотвращает чрезмерное перерисовывание
и ускорить время обработки, когда
узлы добавлены, удалены или вставлены.
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;
Об отключении узла, такого свойства не существует.