博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习 TTreeView [8] - AlphaSort、CustomSort、SortType
阅读量:6482 次
发布时间:2019-06-23

本文共 1990 字,大约阅读时间需要 6 分钟。

  hot3.png

本例效果图:
26153325_FRcG.gif

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, ComCtrls, StdCtrls;type  TForm1 = class(TForm)    TreeView1: TTreeView;    Button1: TButton;    Button2: TButton;    Button3: TButton;    Button4: TButton;    Button5: TButton;    procedure FormCreate(Sender: TObject);    procedure Button1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);    procedure Button3Click(Sender: TObject);    procedure Button4Click(Sender: TObject);    procedure Button5Click(Sender: TObject);  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('2');    Add('3');    Add('1');    Add('4');    Add(#32'2');    Add(#32'3');    Add(#32'1');    Add(#32'4');    Add(#32#32'2');    Add(#32#32'3');    Add(#32#32'1');    Add(#32#32'4');    SaveToStream(stream);    Free;  end;  stream.Position := 0;  TreeView1.LoadFromStream(stream);  TreeView1.SortType := stNone;  stream.Free;  Button1.Caption := '排序第一层';  Button2.Caption := '全部排序';  Button3.Caption := '指定排序类型';  Button4.Caption := '倒排序';  Button5.Caption := '初始化';end;{只排序第一层}procedure TForm1.Button1Click(Sender: TObject);begin  TreeView1.AlphaSort(False);end;{全部排序}procedure TForm1.Button2Click(Sender: TObject);begin  TreeView1.AlphaSort;end;{指定排序类型}procedure TForm1.Button3Click(Sender: TObject);begin  TreeView1.SortType := stText;{SortType 有四种选择:  stNone, stData, stText, stBoth  stText 表示按显示的标签文本排序.}end;{倒排序}procedure TForm1.Button4Click(Sender: TObject);  function MySort(Node1, Node2: TTreeNode; lParam: Integer): Integer; stdcall;  begin    Result := -AnsiStrIComp(PChar(Node1.Text), PChar(Node2.Text));  end;begin  TreeView1.CustomSort(@MySort, 0);end;{重新初始化}procedure TForm1.Button5Click(Sender: TObject);begin  FormCreate(nil);end;end.

转载于:https://my.oschina.net/hermer/blog/319747

你可能感兴趣的文章
百练 2742 统计字符数 解题报告
查看>>
Ubuntu搜狗输入法候选词乱码
查看>>
js中回调函数写法
查看>>
React native android 最常见的10个问题
查看>>
数据结构和算法
查看>>
[pat]1045 Favorite Color Stripe
查看>>
Immutable学习及 React 中的实践
查看>>
【转】性能测试步骤
查看>>
OSI与TCP/IP各层的结构与功能,都有哪些协议
查看>>
Android实例-程序切换到后台及从后台切换到前台
查看>>
spring boot启动定时任务
查看>>
算法 (二分查找算法)
查看>>
java Date 当天时间戳处理
查看>>
linux常用命令-关机、重启
查看>>
iOS开发之调用系统设置
查看>>
初次使用 VUX
查看>>
javascript 字符串转数字的简便写法
查看>>
Spring中jdbcTemplate的用户实例
查看>>
DecimalFormat 数据格式设置 SimpleDateFormat时间格式的用法介绍 --转载
查看>>
Android 的Margin和Padding属性以及支持的长度单位
查看>>