Vcl.ComCtrls.TTreeNode.CustomSort
Delphi
function CustomSort(SortProc: TTVCompare; Data: NativeInt; ARecurse: Boolean = False): Boolean;
C++
bool __fastcall CustomSort(Winapi::Commctrl::TTVCompare SortProc, System::NativeInt Data, bool ARecurse = false);
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | Vcl.ComCtrls.pas Vcl.ComCtrls.hpp |
Vcl.ComCtrls | TTreeNode |
Description
Déclenche le tri des noeuds.
CustomSort déclenche le tri des noeuds enfant du noeud, 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. La méthode CustomSort et la routine de comparaison par défaut n'utilisent pas Data.
Le paramètre facultatif ARecurse (False 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 de l'objet TCustomTreeview associé, 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 sensible à la casse des libellés de noeuds.
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. |
Pour trier les noeuds de niveau supérieur, utilisez la méthode CustomSort de TTreeNodes.
Remarque : La méthode CustomSort ne fonctionne pas si la valeur de SortType vaut stNone.