Vcl.ComCtrls.TTreeNode.CustomSort
Delphi
function CustomSort(SortProc: TTVCompare; Data: NativeInt; ARecurse: Boolean = False): Boolean;
C++
bool __fastcall CustomSort(PFNTVCOMPARE SortProc, NativeInt Data, bool ARecurse = false);
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | public | Vcl.ComCtrls.pas Vcl.ComCtrls.hpp |
Vcl.ComCtrls | TTreeNode |
Beschreibung
Startet die Sortierung der Knoten.
Mit CustomSort wird die Knotensortierung bzw. die Umsortierung der untergeordneten Knoten 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: False) legt fest, dass beim Sortiervorgang die Baumhierarchie 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 benutzt für das zugehörige TCustomTreeView-Objekt die Ereignisbehandlungsroutine OnCompare, sofern sie definiert ist. Ist die Ereignisbehandlungsroutine für OnCompare nicht definiert, werden die Knoten einfach unter Berücksichtigung der Groß-/Kleinschreibung nach ihren Namen sortiert.
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 ist der Wert, der zuvor im Parameter Data von CustomSort ü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. |
Die Knoten der obersten Ebene sortieren Sie mit der Methode CustomSort von TTreeNodes.
Anmerkung: CustomSort funktioniert nicht, wenn der Wert von SortType stNone ist.
Siehe auch
Codebeispiele