Delphi TreeView添加子节点
如何在选中的父节点下添加子节点?例:-父节点1-子节点11-子节点12-父节点2-子节点21-子节点22如果我选中“父节点1”,再点“添加子节点”按钮,就会在“父节点1”...
如何在选中的父节点下添加子节点?
例:
-父节点1
-子节点11
-子节点12
-父节点2
-子节点21
-子节点22
如果我选中“父节点1”,再点“添加子节点”按钮,就会在“父节点1”下添加“子节点13”。得到
-父节点1
-子节点11
-子节点12
-子节点13
如果我选中“父节点2”,再点“添加子节点”按钮,就会在“父节点2”下添加“子节点23”。得到
-父节点2
-子节点21
-子节点22
-子节点23
请高手帮忙看具体怎么做,能把关键代码贴出更好!同样,如果能够选中2级节点,在添加得到3级子节点更好!谢谢大家了! 展开
例:
-父节点1
-子节点11
-子节点12
-父节点2
-子节点21
-子节点22
如果我选中“父节点1”,再点“添加子节点”按钮,就会在“父节点1”下添加“子节点13”。得到
-父节点1
-子节点11
-子节点12
-子节点13
如果我选中“父节点2”,再点“添加子节点”按钮,就会在“父节点2”下添加“子节点23”。得到
-父节点2
-子节点21
-子节点22
-子节点23
请高手帮忙看具体怎么做,能把关键代码贴出更好!同样,如果能够选中2级节点,在添加得到3级子节点更好!谢谢大家了! 展开
1个回答
展开全部
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
SelectedNode:TTreeNode;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
node:array[1..6] of TTreeNode;
begin
node[1] := TreeView1.Items.AddChild(nil,'父节点1');
node[2] := TreeView1.Items.AddChild(node[1],'子节点11');
node[3] := TreeView1.Items.AddChild(node[1],'子节点12');
node[4] := TreeView1.Items.AddChild(nil,'父节点2');
node[5] := TreeView1.Items.AddChild(node[4],'子节点21');
node[6] := TreeView1.Items.AddChild(node[4],'子节点22');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
node: TTreeNode;
str1,str2:string;
begin
SelectedNode:=TreeView1.Selected;
if SelectedNode.HasChildren then
begin
str1:= SelectedNode.Text;
str2:= copy(SelectedNode.GetLastChild.Text,
Length(SelectedNode.GetLastChild.Text),1);
str2:=inttostr(strtoint(str2)+1);
node := TreeView1.Items.AddChild(SelectedNode,str1+str2);
end else
node:=TreeView1.Items.AddChild(SelectedNode,SelectedNode.Text+'1');
end;
end.
接分
补 删除
procedure TForm1.Button2Click(Sender: TObject);
begin
SelectedNode:=TreeView1.Selected;
SelectedNode.Delete;
end;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
TreeView1: TTreeView;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
SelectedNode:TTreeNode;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
node:array[1..6] of TTreeNode;
begin
node[1] := TreeView1.Items.AddChild(nil,'父节点1');
node[2] := TreeView1.Items.AddChild(node[1],'子节点11');
node[3] := TreeView1.Items.AddChild(node[1],'子节点12');
node[4] := TreeView1.Items.AddChild(nil,'父节点2');
node[5] := TreeView1.Items.AddChild(node[4],'子节点21');
node[6] := TreeView1.Items.AddChild(node[4],'子节点22');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
node: TTreeNode;
str1,str2:string;
begin
SelectedNode:=TreeView1.Selected;
if SelectedNode.HasChildren then
begin
str1:= SelectedNode.Text;
str2:= copy(SelectedNode.GetLastChild.Text,
Length(SelectedNode.GetLastChild.Text),1);
str2:=inttostr(strtoint(str2)+1);
node := TreeView1.Items.AddChild(SelectedNode,str1+str2);
end else
node:=TreeView1.Items.AddChild(SelectedNode,SelectedNode.Text+'1');
end;
end.
接分
补 删除
procedure TForm1.Button2Click(Sender: TObject);
begin
SelectedNode:=TreeView1.Selected;
SelectedNode.Delete;
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询