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

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

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

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

1、添加节点方法:http://www.cnblogs.com/del/archive/2008/03/11/1100604.html

2、获取节点的层级,个数等信息,该节点详细信息内容:http://www.cnblogs.com/del/archive/2008/03/12/1101356.html

  Node.Count  //下一级个数

  Node.Level//层级

  Node.Index//兄弟排行

3、定位:和文本框匹配:http://www.cnblogs.com/yangxuming/p/6636134.html

node := node.Parent;//定位到父节点

node:= Node.GetNext;//定位到下个点

node:=Node.Parent.getNextSibling; //定位到子节点的父节点的下个兄弟节点

Node:=TreeView1.Selected; //定位到已选择的点

4、if treeview1.Selected=nil then Exit;//判断有没有选择内容

5、删除

删除一个父节点,其子节点会自动被删除。 
    一个节点的属性Count表示其直接的子节点数(不包括其“孙”节点),通过Item[]属性可以访问其子节点。 
     例如要删除1个节点下所有的子节点: 
    for i:=Node.Count-1 downto 0 do 
   Node.Item[I].Delete; 
   如此即可。 
  或者 Node.DeleteChildren;

TreeView1.Items.Clear;//删除所有

6、 例子:查询当前节点所有父节点内容

nlevel:= Node.Level;

for I := 0 to nlevel do 
begin
  parentArr[i]:= Node.Parent.Text; //父节点存到一个数组
  Node:=Node.Parent; //循环后再查询更上级父节点
end;

7、方法:

  OnCollapse:闭合

  onExpanded:展开

  onMouseDown:鼠标点下

8、关联一个poupupmenu,和以前一样关联一下,发现不能获取节点信息,所以要添加一个方法

procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
   TreeNode:TTreeNode;
begin
     if Button<>mbRight then Exit;     
     TreeNode:=TreeView1.GetNodeAt(x,y);
     if TreeNode<>nil then
     begin
          TreeView1.Selected:=TreeNode;
     end;
end;

9、是否有选 中

if treeview1.Selected=nil then //如果没有被选中的则。。。

10、在一个控件 中定义TreeView2

var
  Nodes: TTreeNodes; {尽早习惯使用 TTreeNodes}
begin
  Nodes := TreeView2.Items;

delphi -----TTreeView的更多相关文章

  1. delphi TTreeView组件遍历磁盘目录

    TTreeView组件遍历磁盘目录 实例说明 TTreeView组件是一个以分枝结构或者说树状结构显示数据的组件,以该组件显示数据具有较好的等级关系和逻辑层次,并且易于操作.在组件中显示的数据结构与系 ...

  2. 学习 TTreeView [15] - 连接数据库 (作为给 "丁永其" 和 "DELPHI万岁" 两位朋友的回复)

    本例效果图: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Contro ...

  3. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  4. delphi中TTreeView的使用方法

    [学习万一老师博客摘要] TTreeView 与两个重要的类相关:TTreeNodes.TTreeNode . TTreeNodes即是TTreeView 的Items属性,TTreeNodes是TT ...

  5. Delphi的基于接口(IInterface)的多播监听器模式(观察者模式 )

    本文来自:http://www.cnblogs.com/hezihang/p/6083555.html Delphi采用接口方式设计模块,可以降低模块之间的耦合,便于扩展和维护.本文提供一个实现基于接 ...

  6. Delphi 7 里没有加载的控件

    在原来版本如D5.D6中使用的控件如Quickrep,FastNet等,在D7中仍然是保留的.只是Delphi没有将他们默认的安装到组件面版中来.这些控件包全部保存在Delphi目录的bin下,文件扩 ...

  7. delphi treeview 鼠标移动显示hint信息

    procedure TForm1.TreeView1MouseMove(Sender: TObject; Shift: TShiftState;   X, Y: Integer); var   Nod ...

  8. DELPHI TreeView 文件目录树和 设置节点图标 完整

        DELPHI TreeView 文件目录树和 设置节点图标   下载地址 http://download.csdn.net/detail/teststudio/6448293     需要制作 ...

  9. Delphi 和 DFM

    Delphi et les DFM Depuis la toute première version de Delphi, celui-ci intègre des fichiers à l'exte ...

随机推荐

  1. HDFS原理解析(整体架构,读写操作流程及源代码查看等)

    前言 HDFS 是一个能够面向大规模数据使用的.可进行扩展的文件存储与传递系统.是一种同意文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间.让实际上是通过网络来訪问文件的 ...

  2. Spring Aop基础总结

    什么是AOP: Aop技术是Spring核心特性之中的一个,定义一个切面.切面上包括一些附加的业务逻辑代码.在程序运行的过程中找到一个切点,把切面放置在此处,程序运行到此处时候会运行切面上的代码.这就 ...

  3. log4j 具体解说(不能再具体了)

    日志是应用软件中必不可少的部分.Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache站点:jakarta.apache.org/log4j 能够免费下载到Log ...

  4. 转-linux下配置socks5代理

    简介: 在Linux下有各种各样的代理程序可用,象最常用的Squid,是http/https代理,也能代理ftp请求,但它实际上 是个HTTP代理程序,不是ftp代理,但它能处理ftp代理请求,就象浏 ...

  5. Effective C++:条款39:明智而审慎地使用private继承

    (一) (1)private继承意味着"依据某物实现出".仅仅有实现部分被继承.接口部分应略去: (2)它仅仅在软件"实现"层面上有意义,在软件"设计 ...

  6. 【每一个人都是梵高】A Neural Algorithm of Artistic Style

    文章地址:A Neural Algorithm of Artistic Style 代码:https://github.com/jcjohnson/neural-style 这篇文章我认为可以起个浪漫 ...

  7. 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderList

    最近在用idea部署war文件的时候,总是出现了部署失败的错误,刚开始并没有在意,但是现在次数越来越多了,不得不在意了,然后就在百度上搜,然后就有了各种说法 1,错误的信息是: One or more ...

  8. 抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立 图形用户界面

    抽象窗口工具包AWT (Abstract Window Toolkit) 是 API为Java 程序提供的建立 图形用户界面GUI (Graphics User Interface)工具集,AWT可用 ...

  9. 红黑树red-black tree

    书籍:<算法导论>第13章 红黑树性质:1. 每个节点要么red要么black.2. 根节点是black节点.3. 叶子节点是black节点.4. red节点的左右儿子节点都是black节 ...

  10. Chrome 新建自定义标签

    刚开始用Chrome让我最不爽的地方有2个: 1.不能双击关闭标签 2.新建的标签不能是自定义网页 第一个问题通过插件解决了,第二个问题今天也总算找到解决的方法了. 这个方法是自定义插件,需要2个文件 ...