TreeView的使用说明
树是由一个节点建立树的操作treeview.items物业。项目是一个ttreenodes对象,这是一个ttreenode集。
一、TTreeNodes,即TreeView的项目,有这些属性:
1,计数,节点数。
2,项目{ },通过索引获取节点。
两。对于ttreenodes,即树。物品,常用操作添加节点:
addfirst将第一根节点。节点添加此功能总是在前面,除非一个节点添加到函数后,然后添加的节点将在前面。这个函数返回新添加的节点。
addchildfirst加第一个子节点,要求父节点作为参数,返回新添加的节点。
addChild添加子节点的父节点,需要为参数,返回新添加的节点。
添加一个兄弟节点,该节点需要一个同级节点作为参数。返回新添加的节点。
三。对于ttreenodes,即树。项目,得到节点的共同操作:
GetFirstNode()获取根节点。
然后ttreenode.getnext(),所有节点都可以访问。
四,例如:
VaR
root_node,cur_node:TTreeNode;
开始
root_node:= addfirst(零,根节点1);
cur_node:= addchildfirst(root_node,零,根节点1_child1);
添加(cur_node,根节点1_child2);
root_node:=加(零,根节点2);
AddChildFirst(root_node,'根节点2_child1);
结束;
五。事件触发:
当跳跃从一个节点到另一个,这ttreeview.onchange事件触发。在这种情况下,节点通过,即在当前选定的节点。
当一个节点的文本的修改,ttreeview.onedit事件触发。
六。将节点的数据连接到节点
每个ttreenode,有数据属性可以存储一个指针,我们可以使用这个域来存储自己的数据对应的节点。
1。我们首先定义一个数据结构来记录我们需要记录的数据:
型
pmydata = ^ tmydata;
tmydata =记录
sfname:字符串;
slname:字符串;
NIndex:整数;
结束;
2。然后,当创建数字时,节点和节点数据链接在一起:
程序tform1.button1click(发件人:TObject);
VaR
Myshuju:pmydata
cur_node:TTreeNode;
开始
新的(myrecptr); / /记住,我们必须首先分配内存。有几个几个节点分配内存。
myshuju ^。名:= edit1.text;
myshuju ^。原因:=按2。文本;
treeviewindex:= strtoint(edit3。文本);
与treeview1做
开始
cur_node:= items.addfirst(零,'all');
cur_node。数据:= myshuju;
结束;
结束;
三.当我们选择一个节点时,我们可以使用我们的数据。
程序tform1.treeview1change(发件人:TObject;节点:TTreeNode);
开始
如果node.datanil然后
自我。一,标题:= pmydata(节点。数据)^。名+ pmydata(节点。数据^模型)。
结束;
七。一般使用过程:
1。添加全局变量:
b_first:布尔; / /记录是第一个访问的节点,因为数据没有准备好,一旦接入节点触发onchange事件,此事件处理程序可能会出错。
2。在formcreate,
一、建立b_first:=真;
b.创建数字并将节点连接到数据。
三.在FormShow
建立b_first:= false;
4。节点是在OnChange事件的处理。
5。在编辑中修改节点以修改文本事件。
打电话给OnChange。
6。在TreeView中,毁灭
释放数据中指向的内存空间。