Vcl.ComCtrls.TCustomTreeView.CustomSort

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function CustomSort(SortProc: TTVCompare; Data: NativeInt; ARecurse: Boolean = True): Boolean;

C++

bool __fastcall CustomSort(PFNTVCOMPARE SortProc, NativeInt Data, bool ARecurse = true);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
Vcl.ComCtrls.pas
Vcl.ComCtrls.hpp
Vcl.ComCtrls TCustomTreeView

Beschreibung

Ermöglicht eine benutzerdefinierte Sortierung der Knoten im Baumdiagramm.

Mit CustomSort wird die Knotensortierung bzw. die Umsortierung an- bzw. ausgeschaltet, und zwar anhand einer Vergleichsroutine, die vom Parameter SortProc bestimmt wird.

Der Parameter Data stellt eine Möglichkeit bereit, Informationen an eine angepasste Vergleichsroutine zu übergeben. Data wird von der Methode CustomSort und der Standard-Vergleichsroutine nicht verwendet.

Der optionale Parameter ARecurse (Vorgabewert: true) legt fest, dass beim Sortiervorgang das Baumdiagramm rekursiv durchlaufen und jeweils auch die Unterzweige sortiert werden.

Der Rückgabewert von CustomSort gibt den Erfolgsstatus der Sortierung an.

Wenn der Parameter SortProc den Wert nil (Delphi) oder NULL (C++) hat, wird die Standardsortierroutine aufgerufen. Die Standardroutine verwendet die OnCompare-Ereignisbehandlungsroutine, sofern diese definiert ist. Ist die Ereignisbehandlungsroutine für OnCompare jedoch nicht definiert, werden die Knoten einfach nach ihren Namen sortiert, wobei die Groß-/Kleinschreibung beachtet wird.

Die Vergleichsroutine ist folgendermaßen definiert:

Pascal TTVCompare = function(lParam1, lParam2, lParamSort: Longint): Integer;

C++ typedef int (CALLBACK *TTVCompare)(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);


Die Parameter lParam1 und lParam2 verweisen bei der Typumwandlung nach TTreeNode auf zwei Knoten.

Der Parameter lParamSort entspricht dem Wert, der zuvor an den CustomSort-Parameter in Data übergeben wurde.

Der Rückgabewert der Vergleichsroutine bezeichnet die relative Sortierreihenfolge von IParam1 und IParam2:



Rückgabewert Bedeutung

< 0

IParam1 kommt vor IParam2

0

IParam1 und IParam2 sind gleichrangig

> 0

IParam2 kommt vor IParam1



Der Aufruf von CustomSort hat dieselbe Wirkung wie der Aufruf derselben Methode für die Eigenschaft Items, außer das CustomSort in TTreeNodes nicht standardmäßig rekursiv ist.

Um einen Unterzweig zu sortieren, rufen Sie die Methode CustomSort der Eigenschaft Items auf.

Siehe auch

Codebeispiele