zoukankan      html  css  js  c++  java
  • 学习 TTreeView [12] FullExpand、FullCollapse、GetNodeAt

    本例效果图:


    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls;
    
    type
      TForm1 = class(TForm)
        TreeView1: TTreeView;
        Button1: TButton;
        Button2: TButton;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    {我随意地使用了不同的方法去动态添加数据}
    procedure TForm1.FormCreate(Sender: TObject);
    var
      stream: TMemoryStream;
    begin
      TreeView1.Align := alLeft;
      stream := TMemoryStream.Create;
      with TStringList.Create do
      begin
        Add('一连长');
        Add(#9+'一排长');
        Add(#9+#9+'一班长');
        Add(#9+#9+#9+'战士1');
        Add(#9+#9+#9+'战士2');
        Add(#9+#9+#9+'战士3');
        Add(#9+#9+#9+'战士4');
        Add(#9+#9+'二班长');
        Add(#9+#9+'三班长');
        Add(#9+'二排长');
        Add(#9+'三排长');
        Add('二连长');
        Add('三连长');
        SaveToStream(stream);
        Free;
      end;
      stream.Position := 0;
      TreeView1.LoadFromStream(stream);
      stream.Free;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      TreeView1.FullExpand;
      (Sender as TButton).Caption := '全部展开';
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      TreeView1.FullCollapse;
      (Sender as TButton).Caption := '全部关闭';
    end;
    
    procedure TForm1.TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    var
      node: TTreeNode;
    begin
      if Boolean(TreeView1.GetNodeAt(X,Y)) then
      begin
        node := TreeView1.GetNodeAt(X,Y);
        Text := node.Text;
      end;
    end;
    
    end.
    
  • 相关阅读:
    字符串与Unicode码的相互转换
    关于es6中的yield
    ajax请求中的6个全局事件
    用H5上传文件
    类型化数组
    git笔记-9-29
    js正则表达式验证身份证号和密码
    assertThat用法
    java产生随机数的几种方式
    jQuery之Deferred对象详解
  • 原文地址:https://www.cnblogs.com/del/p/1105823.html
Copyright © 2011-2022 走看看