- 7
- 0
- 约3.55千字
- 约 4页
- 2023-08-06 发布于上海
- 举报
TreeView 由节点构成,建树通过对 TreeView.items 属性进行操作。Items 是一个
TTreeNodes 对象,这是一个 TTreeNode 集。
一、针对 TTreeNodes,也就是 TreeView.Items,有这些属性:
1、count,节点个数。
2、item[index] ,通过 index 得到节点。
二、针对 TTreeNodes,也就是 TreeView.Items,常用的添加节点的操作有:
AddFirst 添加第一个根节点。由此函数添加的节点总排在前面,除非后来又使用此函数添加了一个节点,则后添加的节点将排在前面。该函数返回新添加的节点。AddChildFirst 添加第一个子节点,要求有父节点作为其参数。返回新添加的节点。AddChild 添加一个子节点,要求有父节点作为其参数。返回新添加的节点。
Add 添加一个兄弟节点,要求有兄弟节点作为其参数。返回新添加的节点。三、针对 TTreeNodes,也就是 TreeView.Items,常用的得到节点的操作有:
GetFirstNode() 得到根节点。
然后配合 TTreeNode.GetNext(),就可以访问所有的节点。四、建树举例:
var
root_node,cur_node:TTreeNode; begin
root_node:=AddFirst(nil,根节点 1);
cur_node:=addChildfirst(root_node,nil,根节点 1_child1); add(cur_node,根节点 1_child2);
root_node:=Add(nil, 根 节 点 2); AddChildFirst(root_node,根节点 2_child1); end;
五、事件触发:
当从一个节点跳到另一个节点,会触发 TTreeView.OnChange 事件。该事件中,将传递 node,即当前被选中的节点。
当修改一个节点的 text 时,会触发 TTreeView.onEdit 事件。六、将节点和节点所对应的数据联系起来
对于每个 TTreeNode,有个 Data 属性,可以存放一个指针。我们可以利用这个域来存放与节点对应的自己的数据。
我们先定义一个数据结构,作为记录我们要记录的数据。如: type
PMyData=^TMyData; TMyData=Record sFName:string; sLName:String; nIndex:integer;
end;
然后,创建数时,将节点和节点数据联系起来: procedure TForm1.Button1Click(Sender: TObject); var
myshuju: PMyData
cur_node:TTreeNode; begin
New(MyRecPtr); //记住,一定要先分配内存。有几个节点,就要分配几次内存。
myshuju^.FName:=Edit1.Text; Myshuju^.LName := Edit2.Text; TreeViewIndex := StrToInt(Edit3.Text); with TreeView1 do
begin cur_node:=items.AddFirst(nil,first); cur_node.data:=myshuju;
end; end;
当我们选中一个节点时,就可以使用我们的数据了。
procedure TForm1.TreeView1Change(Sender:TObject;Node:TTreeNode); begin
if node.datanil then self.label1.caption:=pmyData(node.data)^.Fname+pmyData(node.data)^.Lname
end;
七、一般使用流程:
1、添加全局变量:
b_first:boolean; //记录是否是第一次访问节点 ,因为此时数据还未准备好 ,而一旦访问节点就会触发 OnChange 事件,在此事件处理函数中也许会出错。
2、在 FormCreate 中, a、设置 b_first:=true;
b. 创建数并将节点与数据联系。3、在 FormShow 中
设置 b_first:=false;
在事件 OnChange 中处理节点被选中事件。
在 Edit 中处理节点被修改 Text 事件。并调用 OnChange.
在 TreeView.Destory中
释放 Data 中指向的内存空间。
我在写 treeview 的时候出现了一个小问题,我的根节点重复了,我应该怎么样去掉重复的节点呢,我在表里,有“种类”这一个字段,和一个“种类内容” 一个字段, 我是想如里在种类里输入
您可能关注的文档
- Raw数码摄影流程完全解4.docx
- Raw数码摄影流程完全解析.docx
- RealTimePCR实验流程分析和总结.docx
- REDONE摄像机测试报告.docx
- Report forep2分析和总结分析和总结.docx
- Rest of my life歌词正反双面.docx
- RIO鸡尾酒广告项目策划书.docx
- RLC实验报告分析和总结.docx
- RPP耐腐蚀性能表介质浓度%RPP℃介质浓度%RPP℃介质浓度.docx
- RS232C串行通信与单片机接口简介.docx
- 宣贯培训(2026年)《NYT 4512-2025 非洲菊疫病抗性鉴定技术规程》.pptx
- 宣贯培训(2026年)《NYT 4514-2025木薯副产物综合利用导则》.pptx
- 宣贯培训(2026年)《NYT 4513-2025木薯全程机械化生产技术规范》.pptx
- 宣贯培训(2026年)《NYT 4470-2025全株玉米青贮质量分级》.pptx
- 宣贯培训(2026年)《NYT 4468-2025玉米供需平衡表编制规范》.pptx
- 宣贯培训(2026年)《NYT 4469-2025全株玉米青贮质量评定 综合指数法》.pptx
- 宣贯培训(2026年)《NYT 4474-2025东北地区玉米-大豆轮作生产技术规程》.pptx
- 宣贯培训(2026年)《NYT 4472-2025玉米耐盐碱鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4473-2025玉米抗旱性鉴定评价技术规程》.pptx
- 宣贯培训(2026年)《NYT 4478-2025甘薯收获技术规程》.pptx
最近下载
- 新版湘少版四年级下册英语教案全册.doc
- 教科版小学六年级下册综合实践活动主题二 第2课 我给学校提建议(课件).pptx VIP
- FR-WI-08-23 环境管理物质执行标准 A21.xls VIP
- 比亚迪环境管理物质标准A6.pdf VIP
- 大数据视角下小学生学习能力评价与提升策略实践教学研究课题报告.docx
- 2025年落实上级统计督察整改工作情况的报告范文.docx VIP
- HSF001--A1环境管理物质管理标准.doc VIP
- 外军管理概论题库及答案.doc VIP
- T SHJNXH 0021—2025 电化学储能电站运行综合能效等级及评价.pdf VIP
- 2025年外军管理概论试题及答案.docx VIP
原创力文档

文档评论(0)