如何增加删除树的节点
在程序里使用treeview的时候,属性里有个item可以很方便的增减树的节点,现在想在程序运行以后实现那个item的功能,该怎么做呢?
也就是说,我的程序页面上上有个treeview组件,我想在旁边放几个按钮,实现treeview里item属性的功能。
[解决办法]
with TreeView1 do
begin
Items.AddChild(nil, '我是第一个节点 ');
Items.AddChild(Items[0], '我是第一个节点的节点 1 ');
Items.AddChild(Items[0], '我是第一个节点的节点 2 ');
Items.AddChild(nil, '我是第二个节点 ');
end;
删除节点用 TreeView1.Items.Delete() 或 TreeView1.Items[i].Delete
[解决办法]
增加
procedure TForm1.Button1Click(Sender: TObject);
var
tnode:TTreeNode;
begin
Tnode:=Treeview1.Items.AddChildObject(TreeView1.Selected, '标题 '+inttostr(Random(1000)) ,nil);
//设置显示选择图标什么的
tnode.ImageIndex :=0;
tnode.SelectedIndex := 1;
end;
//删除
procedure TForm1.Button2Click(Sender: TObject);
begin
if (TreeView1.Selected=nil) then exit;
TreeView1.Selected.Free;
end;
[解决办法]
得到选择节点层数 注意,是从0开始的
procedure TForm1.Button3Click(Sender: TObject);
begin
if (TreeView1.Selected=nil) then exit;
ShowMessage(IntToStr(TreeView1.Selected.Level));
end;
[解决办法]
保存树只需要保存每个节点的数据和父节点的指针,生成树的时候遍历一次就可以了。