zoukankan      html  css  js  c++  java
  • delphi -----TTreeView

    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;
  • 相关阅读:
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    使用kubespray在国内安装Kubernetes(1)
    docker国内镜像拉取和镜像加速registry-mirrors配置修改
    docker pull很慢解决办法
    Docker 国内仓库和镜像
  • 原文地址:https://www.cnblogs.com/michellexiaoqi/p/7693301.html
Copyright © 2011-2022 走看看