procedure TForm1.BuildTree; var tNode: TTreeNode begin with TreeView1 do begin Items.Clear; tNode := Items.Add(Nil,'AAAAAA'); Items.AddChild(tNode,'A1'); Items.AddChild(tNode,'A2'); Items.AddChild(tNode,'A3'); Items.AddChild(tNode,'A4'); ... tNode := Items.Add(Nil,'BBBBBB'); Items.AddChild(tNode,'B1'); Items.AddChild(tNode,'B2'); Items.AddChild(tNode,'B3'); Items.AddChild(tNode,'B4'); ... end; end;
以上方法没问题。 但我是说 procedure TForm1.BuildTree; var tNode1,tNode2: TTreeNode begin with TreeView1 do begin Items.Clear; tNode1 := Items.Add(Nil,'AAAAAA'); Items.AddChild(tNode1,'A1'); Items.AddChild(tNode1,'A2'); tNode2 := Items.Add(Nil,'BBBBBB'); Items.AddChild(tNode2,'B1'); Items.AddChild(tNode2,'B2'); end; end; procedure TForm1.TreeView1Click(Sender: TObject); //问题所在 begin Items.AddChild(tNode1,'A3'); Items.AddChild(tNode1,'A4'); Items.AddChild(tNode2,'B4'); Items.AddChild(tNode2,'B5'); TreeView1.Refresh; //运行完成后TreeView没有 变化还是原样 end;
tNode1和tNode2是局部变量,在另一个过程中是没有值得,你要把他们定义成全局的才行
crs77,没解决吗? 我的icq:5443434.
to tNode1和tNode2 在实际应用中我就是用了全局变量,要不编译不过的。
TO saoren 我没有ICQ!你有OICQ吗? 我的号码是:3035403,
你一定是弄错了,我运行了这个程序,没有问题。不过Treeviewclick事件我是这样写的:procedure TForm1.TreeView1Click(Sender: TObject); begin with treeview1 do begin Items.AddChild(tNode1,'A3'); Items.AddChild(tNode1,'A4'); Items.AddChild(tNode2,'B4'); Items.AddChild(tNode2,'B5'); end; end; 结果每次单击TREEVIEW1都有新项增加到AAAA和BBBB项目下。
var
tNode: TTreeNode
begin
with TreeView1 do
begin
Items.Clear;
tNode := Items.Add(Nil,'AAAAAA');
Items.AddChild(tNode,'A1');
Items.AddChild(tNode,'A2');
Items.AddChild(tNode,'A3');
Items.AddChild(tNode,'A4');
...
tNode := Items.Add(Nil,'BBBBBB');
Items.AddChild(tNode,'B1');
Items.AddChild(tNode,'B2');
Items.AddChild(tNode,'B3');
Items.AddChild(tNode,'B4');
...
end;
end;
但我是说
procedure TForm1.BuildTree;
var
tNode1,tNode2: TTreeNode
begin
with TreeView1 do
begin
Items.Clear;
tNode1 := Items.Add(Nil,'AAAAAA');
Items.AddChild(tNode1,'A1');
Items.AddChild(tNode1,'A2');
tNode2 := Items.Add(Nil,'BBBBBB');
Items.AddChild(tNode2,'B1');
Items.AddChild(tNode2,'B2');
end;
end;
procedure TForm1.TreeView1Click(Sender: TObject); //问题所在
begin
Items.AddChild(tNode1,'A3');
Items.AddChild(tNode1,'A4');
Items.AddChild(tNode2,'B4');
Items.AddChild(tNode2,'B5');
TreeView1.Refresh; //运行完成后TreeView没有
变化还是原样
end;
我的icq:5443434.
我没有ICQ!你有OICQ吗? 我的号码是:3035403,
begin
with treeview1 do
begin
Items.AddChild(tNode1,'A3');
Items.AddChild(tNode1,'A4');
Items.AddChild(tNode2,'B4');
Items.AddChild(tNode2,'B5');
end;
end;
结果每次单击TREEVIEW1都有新项增加到AAAA和BBBB项目下。