You can use the following code to custom sort on the size column:
uses
Math;
procedure TForm21.AdvDirectoryTreeView1NodeCompare(Sender: TObject; Node1,
Node2: TAdvTreeViewNode; AColumn: Integer; var ACompareResult: Integer);
var
tn: TAdvDirectoryTreeViewNode;
tn2: TAdvDirectoryTreeViewNode;
fad: TWin32FileAttributeData;
fst, fst2: Int64;
begin
tn := Node1 as TAdvDirectoryTreeViewNode;
tn2 := Node2 as TAdvDirectoryTreeViewNode;
fst := 0;
fst2 := 0;
if FileExists(tn.FileName) and FileExists(tn2.FileName) then
begin
GetFileAttributesEx(PChar(tn.FileName), GetFileExInfoStandard, @fad);
fst := Int64(fad.nFileSizeLow) or Int64(fad.nFileSizeHigh shl 32);
GetFileAttributesEx(PChar(tn2.FileName), GetFileExInfoStandard, @fad);
fst2 := Int64(fad.nFileSizeLow) or Int64(fad.nFileSizeHigh shl 32);
end;
ACompareResult := CompareValue(fst, fst2);
end;
procedure TForm21.FormCreate(Sender: TObject);
begin
AdvDirectoryTreeView1.LoadDirectory('E:\Delphi\temp\Files', True);
AdvDirectoryTreeView1.Sort(1, True);
end;