Vcl.ComCtrls.TCustomTreeView.CustomSort

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

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

C++

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

Propriétés

Type Visibilité  Source Unité  Parent
function public
Vcl.ComCtrls.pas
Vcl.ComCtrls.hpp
Vcl.ComCtrls TCustomTreeView

Description

Trie les noeuds de la vue arborescente avec un ordre de tri personnalisé.

CustomSort déclenche le tri des noeuds, en utilisant une routine de comparaison indiquée par le paramètre SortProc.

Le paramètre Data fournit un moyen de passer des informations à une routine de comparaison personnalisée. Les données ne sont pas utilisées par la méthode CustomSort ou la routine de comparaison par défaut.

Le paramètre facultatif ARecurse (de valeur true par défaut) spécifie que le tri doit descendre l'arborescence de façon récursive et trier chaque sous-arborescence à son tour.

La valeur de retour de CustomSort indique le statut de succès du tri.

Si SortProc vaut nil (Delphi) ou NULL (C++), une routine de comparaison par défaut est utilisée. La routine par défaut utilise le gestionnaire d'événement OnCompare, s'il est défini. Si le gestionnaire d'événement OnCompare n'est pas défini, la routine par défaut utilise une simple comparaison des libellés de noeuds sensible à la casse.

La routine de comparaison est définie comme suit :

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

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


Les paramètres lParam1 et lParam2 font référence à deux noeuds au transtypage vers TTreeNode.

Le paramètre lParamSort est la valeur précédemment passée dans le paramètre Data de CustomSort.

La valeur de retour de la routine de comparaison indique l'ordre de tri relatif de IParam1 et IParam2 :



Valeur de retour Signification

< 0

IParam1 est avant IParam2

0

IParam1 et IParam2 sont équivalents

> 0

IParam2 est avant IParam1



Appeler CustomSort a le même effet qu'appeler la même méthode pour la propriété Items, sauf que dans TTreeNodes, CustomSort n'est pas récursive par défaut.

Pour trier une sous-arborescence, appelez la méthode CustomSort de la propriété Items.

Voir aussi