如何为TREEVIEW中的每个节点赋与节点名无关的值,就是我想选种一个节点的时候可以返回一个数值,而与节点名不一样。在什么地方添加关于TR
如何为TREEVIEW中的每个节点赋与节点名无关的值,就是我想选种一个节点的时候可以返回一个数值,而与节点名不一样。在什么地方添加关于TREEVIEW的代码?我双击只能打开Items Editor. 问题点数:20、回复次数:7Top
1 楼Linux2001(闭关开发中)回复于 2003-11-03 15:03:14 得分 5
item[i].Data属性可以用来存放这些东东Top
2 楼yanghai0437(流浪者)回复于 2003-11-03 15:03:20 得分 5
每个节点都有一个data属性,然后你看看帮助,用一个指针就可以达到你的要求
type
PMyRec = ^TMyRec;
TMyRec = record
id: Longint; //目录id
Pid: Longint; //目录pid
strGPName:String; //对应的数据表的名称
end;
Nodetemp: TTreeNode;
MyRecPtr: PMyRec;
New(MyRecPtr); //分配内存
MyRecPtr^.id := 0;
MyRecPtr^.pid := -1;
MyRecPtr^.strGPName:= 'sfgdfg';
strGP:= '123456';
Nodetemp:=Treeview1.Items.AddChild(Node,strGP);
Nodetemp.Data := MyRecPtr;Top
3 楼Delphi_Li(Delphi Li)回复于 2003-11-03 15:08:57 得分 0
如果你的数据是简单整数数值,那么使用Tag属性,否则使用Data属性!!!Top
4 楼mib3000(-_-!!!)回复于 2003-11-03 15:22:10 得分 0
在什么地方添加关于TREEVIEW的代码?
在Object Inspecter上找到你的TREEVIEW,在Events页选你要写的事件Top
5 楼netatomy(Chris)回复于 2003-11-03 15:44:08 得分 10
在Delphi6/7中可以定制TreeView的节点:
type
TMyNode = class(TTreeNode)
private
...
public
property ExtraData: string read GetExtraData write WriteExtraData;
end;
然后在TreeView1的OnCreateNodeClass事件中这样写:
procedure TForm1.TreeView1CreateNodeClass(Sender: TCustomTreeView;
var NodeClass: TTreeNodeClass);
begin
NodeClass := TMyNode;
end;
这时就可以这样创建节点:
procedure TForm1.Button3Click(Sender: TObject);
var
MyNode: TMyNode;
begin
MyNode := TreeView1.Items.AddChild(nil, 'Root') as TMyNode;
MyNode.ExtraNode := 'Hello World';
end;Top
6 楼horace331()回复于 2003-11-03 16:02:42 得分 0
to:Linux2001
“item[i].Data属性可以用来存放这些东东”
我应该在哪个事件中加相应的代码?Top
7 楼horace331()回复于 2003-11-03 16:11:19 得分 0
我的意思是在程序运行前就把节点和响应的INT值设定了,运行中不允许修改,我应该在哪个事件中加代码?Top




