程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> TTreeView講解 [8] - AlphaSort、CustomSort、SortType

TTreeView講解 [8] - AlphaSort、CustomSort、SortType

編輯:Delphi

本例效果圖:

TTreeView講解 [8] - AlphaSort、CustomSort、SortType

unit Unit1; 
 
interface 
 
uses 
 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. 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved