注册 登录
编程论坛 Delphi论坛

treeview的问题

z586 发布于 2007-07-28 10:50, 896 次点击
在treeview中添加节点一般用到以下语句
var
newnode:ttreenode;
...
newnode:=treeview1.items.addchild(treeview1.selected,edit1.text);
请问newnode的作用是什么?
直接用treeview1.items.addchild(treeview1.selected,edit1.text);也可以完成添加节点,为什么还要
用newnode?
我不太明白,想请教一下大家!

谢谢!!!
5 回复
#2
xu20002007-07-28 22:54

addchild的返回值就是一个TTreeNode节点,你所说的第二个方法是抛弃了返回值。普通情况下是没有什么关系的
但TTreeView控件很容易用到递归算法。而第二种方法就无法实现了。

#3
z5862007-07-30 10:07
xu2000兄:
newnode好像是一个指向新增节点的指针,但newnode又不是指针类型的,我的困惑是在这里。
#4
volte2007-07-30 12:47

楼主面向对象没学好!

#5
xu20002007-07-31 22:42
以下是引用z586在2007-7-30 10:07:17的发言:
xu2000兄:
newnode好像是一个指向新增节点的指针,但newnode又不是指针类型的,我的困惑是在这里。

你从哪得到的结论?

#6
z5862007-08-02 22:48
我再重举个例子
var a:integer;
aa:array[1..5] of integer;
begin
aa[1]:=1;
a:=aa[1];
a:=0;
end;
a肯定不等于aa[1]
在treeview中
curnode:ttreenode;
curnode:=treeview1.items.addchild(treeview1.selected,edit1.text);
curnode像a,treeview1.selectd像aa[1];
但curnode=treeview1.selected
1