【学习万一老师博客摘要】

TTreeView 与两个重要的类相关:TTreeNodes、TTreeNode 。

TTreeNodes即是TTreeView 的Items属性,TTreeNodes是TTreeNode的合集,TTreeNode代表的是TTreeView的节点,不按主从关系,节点依次存储在Items中。

TTreeView的Select方法用来指定TTreeView选择的节点,可以选择多个节点。

TTreeNodes使用add添加同级节点,使用addChild添加下级节点。node.parent表示node节点的上级节点。

TTreeNode的一些属性:

'绝对序号':Node.AbsoluteIndex

'所在级别':Node.Level

'在兄弟中排行':Node.Index

'下级总数':Node.Count

'上级元素':Node.Parent.text

'上一个':Node.GetPrev.text

'下一个':Node.GetNext.text

'上一个兄弟':Node.GetPrevSibling.text

'下一个兄弟':Node.GetNextSibling.text

'上一个可见':Node.GetPrevVisible.text

'下一个可见':Node.GetNextVisilbe.text

'第一个下级':Node.GetFirstChild.text

'最后一个下级':Node.GetLastChile.text

'总数':Node.Ower.count

TreeView的items属性可以导出为*.txt文件,并可从文件或流中导入,需要注意流或文件中的数据格式有严格要求, 要求必须是树状结构; 结构中可以用"空格"和"Tab"分层.

treeview的插入、删除操作

{插入, 只能通过 TTreeNodes} 
node := TreeView1.Selected; 
TreeView1.Items.Insert(node, '新成员');

{用 TTreeNodes 删除}

node := TreeView1.Selected;
TreeView1.Items.Delete(node);

{用TTreeNode删除}
node := TreeView1.Selected;
node.Delete;

{删除它的所有下级}
node := TreeView1.Selected;
if node.HasChildren then
node.DeleteChildren

delphi中TTreeView的使用方法的更多相关文章

  1. Delphi中Frame的使用方法(2)

    Frame在写代码时和一般组件有什么不同呢?比如(1)中的客户信息的frame,如果想重写客户编辑按钮的click事件,会发生什么呢: procedure TBusOnSiteManager.Fram ...

  2. Delphi 中的MD5实现方法(转)

    在Delphi自带的Indy控件中其实是提供了MD2,MD4,MD5对象的,我们可以直接使用它们来完成MD5的签名算法.而不需要再去找其它的DLL或是Pas了. 在Uses单元中引用 IdHashMe ...

  3. delphi中VirtualStringTree树使用方法之终结篇!

    VirtualStringTree 的用法详解:作者:张志宝go淘宝 例子:创建了一个树名为VirtualStringTree1,第一列显示数据库字段ID的值,标题为编号:第二列显示字段Name的值, ...

  4. delphi中设置系统时间方法

    procedure TMainFrm.Timer1Timer(Sender: TObject); var   systemtime:Tsystemtime;   dt:TDateTime; begin ...

  5. Delphi中Frame的使用方法(1)

    Frame是组件面板上的第一个组件,但不是每个人都知道怎么用它,因为它不像Button和Label一样简单明了.实际上,Frame按钮只是打开一个Frame的列表,如果你没有创建任何的Frame,自然 ...

  6. Delphi中close与Terminate方法的区别

    在有多个Form窗体时可以体现出来.用close是只关闭本窗体,而用Application.terminate是关闭整个程序,包括所有窗体.(1)当Close是一个主窗体时,程序会退出.Close会发 ...

  7. Delphi中字符串补齐方法

    函数功能:当Str不满Len长度时,在Str前自动填充PadStr以补足长度,例子如下: Str:原字符串 Len:补多长 PadStr:用什么补齐,比如‘0’ function PadString( ...

  8. Delphi中根据分类数据生成树形结构的最优方法

    一. 引言:    TreeView控件适合于表示具有多层次关系的数据.它以简洁的界面,表现形式清晰.形象,操作简单而深受用户喜爱.而且用它可以实现ListView.ListBox所无法实现的很多功能 ...

  9. delphi 中TStringList Clear 方法的时候该对象有没有被释放

    delphi 中TStringList 通过function AddObject(const S: string; AObject: TObject): Integer; 方法添加了一个对象,请问我在 ...

随机推荐

  1. 小技巧:with用法 pycharm控制台输出带颜色的文字 打印进度条的

    with用法 with用法在python中是一个很独特的用法,因为别的语言的中没有这个用法.所以针对这个特点我们来做一次总结,什么样的情况下可以同with  我们学到的有文件的操作,和acquire  ...

  2. Java注解合并,注解继承

    莆田SEO:spring中有时候一个类上面标记很多注解. 实际上Java注解可以进行继承(也就是把多个注解合并成1个) 比如说SpringMVC的注解 @RestController @Request ...

  3. Codeforces Round #603 (Div. 2) A,B,C,D【E题待补】

    #include<bits/stdc++.h> using namespace std; #define int long long signed main(){ int _; cin&g ...

  4. bootstrap Table 的使用方法

    然后添加css  找到bootstrap-table.min.css 添加进去 再添加JS Js添加时  按照顺序添加 然后初始化bootstrap-table <script type=&qu ...

  5. RabbitMQ的安装和管理

    c:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.5.1\sbin>------------------------------- ...

  6. Vue自定义日历组件

    今天给大家介绍Vue的日历组件,可自定义样式.日历类型及支持扩展,可自定义事件回调.Props数据传输. 线上demo效果 示例 Template: <Calendar :sundayStart ...

  7. Java基础系列 - 查找数组的最大值和最小值

    package com.test6; public class test5 { public static void main(String[] args) { int[] arr = {1, 2, ...

  8. vue从一个组件跳转到另一个组件页面router-link的试用

    需求从helloworld.vue页面跳到good.vue页面 1.helloworld.vue页面代码 <template> <div class="hello" ...

  9. Qt 的插件制作

    首先会遇到一些插件使用的问题: 插件加载的时候出现乱码 qrc:/main.qml:20: Error: Qt.createQmlObject(): failed to create object: ...

  10. Git git rm和git rm --cached

    git rm 和 git rm --cached 的区别 git rm file git commit -m "xxx" git push origin master 删除本地及仓 ...