学习 TTreeView [8] - AlphaSort、CustomSort、SortType
生活随笔
收集整理的這篇文章主要介紹了
学习 TTreeView [8] - AlphaSort、CustomSort、SortType
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本例效果圖:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, StdCtrls;typeTForm1 = 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;varForm1: TForm1;implementation{$R *.dfm}{初始化} procedure TForm1.FormCreate(Sender: TObject); varstream: TMemoryStream; beginTreeView1.Align := alLeft;stream := TMemoryStream.Create;with TStringList.Create dobeginAdd('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); beginTreeView1.AlphaSort(False); end;{全部排序} procedure TForm1.Button2Click(Sender: TObject); beginTreeView1.AlphaSort; end;{指定排序類型} procedure TForm1.Button3Click(Sender: TObject); beginTreeView1.SortType := stText;{SortType 有四種選擇:stNone, stData, stText, stBothstText 表示按顯示的標簽文本排序. } end;{倒排序} procedure TForm1.Button4Click(Sender: TObject);function MySort(Node1, Node2: TTreeNode; lParam: Integer): Integer; stdcall;beginResult := -AnsiStrIComp(PChar(Node1.Text), PChar(Node2.Text));end; beginTreeView1.CustomSort(@MySort, 0); end;{重新初始化} procedure TForm1.Button5Click(Sender: TObject); beginFormCreate(nil); end;end.
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ComCtrls, StdCtrls;typeTForm1 = 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;varForm1: TForm1;implementation{$R *.dfm}{初始化} procedure TForm1.FormCreate(Sender: TObject); varstream: TMemoryStream; beginTreeView1.Align := alLeft;stream := TMemoryStream.Create;with TStringList.Create dobeginAdd('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); beginTreeView1.AlphaSort(False); end;{全部排序} procedure TForm1.Button2Click(Sender: TObject); beginTreeView1.AlphaSort; end;{指定排序類型} procedure TForm1.Button3Click(Sender: TObject); beginTreeView1.SortType := stText;{SortType 有四種選擇:stNone, stData, stText, stBothstText 表示按顯示的標簽文本排序. } end;{倒排序} procedure TForm1.Button4Click(Sender: TObject);function MySort(Node1, Node2: TTreeNode; lParam: Integer): Integer; stdcall;beginResult := -AnsiStrIComp(PChar(Node1.Text), PChar(Node2.Text));end; beginTreeView1.CustomSort(@MySort, 0); end;{重新初始化} procedure TForm1.Button5Click(Sender: TObject); beginFormCreate(nil); end;end.
轉載于:https://www.cnblogs.com/del/archive/2008/03/13/1103445.html
總結
以上是生活随笔為你收集整理的学习 TTreeView [8] - AlphaSort、CustomSort、SortType的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业远程接入配置 不宜贪小失大
- 下一篇: WINFORM 多条件动态查询 通用代码