... ... ... type PNode=^TNode; TNode=record id:integer; end;.... ... //加载树时 procedure CreateTree; var pn1:pnode; cnode:TTreeNode; begin new(pn1); pn1.id:=0; cnode:=treeview1.Items.AddChildObject(nil,'树顶',pn1); new(pn1); pn1.id:=1; treeview1.Items.AddChildObject(cnode,'一级',pn1); ..... .... end;//取值时,在onclick中 if treeview1.selected=nil then exit; i:=pnode(treeview1.selected.data).id;其实,不光是一个ID,树的一个节点可以存放很多信息楼主快点给分吧:)
我说的不是这意思 我有一个数据库 如 ID MC 01 一组 02 二组我把上面的数据加载到树形目录 p是字符指针类型 while not adotable1.eof do begin new(p); p^:=adotable1.fieldbyname('id').asstring; treeview1.items.addchildobjet(nil,adotable1.fieldbyname('mc').asstring,p); adotable1.next end; 我把这些数据加上去后 当我在改变结点时我怎么得到P的值呢?
//取值时,在onclick中 if treeview1.selected=nil then exit; i:=pnode(treeview1.selected.data).id;大哥,拜托看东西看仔细一点,我已经写了
Node.Level(属于那一级) 和Node.Index(某一级的第几为) 可以标识一个节点;
...
...
type
PNode=^TNode;
TNode=record
id:integer;
end;....
...
//加载树时
procedure CreateTree;
var
pn1:pnode;
cnode:TTreeNode;
begin
new(pn1);
pn1.id:=0;
cnode:=treeview1.Items.AddChildObject(nil,'树顶',pn1);
new(pn1);
pn1.id:=1;
treeview1.Items.AddChildObject(cnode,'一级',pn1);
.....
....
end;//取值时,在onclick中
if treeview1.selected=nil then exit;
i:=pnode(treeview1.selected.data).id;其实,不光是一个ID,树的一个节点可以存放很多信息楼主快点给分吧:)
我有一个数据库
如
ID MC
01 一组
02 二组我把上面的数据加载到树形目录
p是字符指针类型
while not adotable1.eof do
begin
new(p);
p^:=adotable1.fieldbyname('id').asstring;
treeview1.items.addchildobjet(nil,adotable1.fieldbyname('mc').asstring,p);
adotable1.next
end;
我把这些数据加上去后
当我在改变结点时我怎么得到P的值呢?
if treeview1.selected=nil then exit;
i:=pnode(treeview1.selected.data).id;大哥,拜托看东西看仔细一点,我已经写了