Partager via


CTreeCtrl::SortChildrenCB

Appelez cette fonction pour trier les éléments d'arborescence à l'aide d'une fonction de rappel définie par l'application qui compare les éléments.

BOOL SortChildrenCB( 
   LPTVSORTCB pSort  
);

Paramètres

  • pSort
    Pointeur vers une structure de TVSORTCB .

Valeur de retour

Une valeur différente de zéro si l'opération a réussi ; sinon 0.

Notes

La fonction de comparaison de la structure, lpfnCompare, doit retourner une valeur négative si le premier élément précède le deuxième, une valeur positive si le premier élément suit le deuxième, ou mettent à zéro si les deux éléments sont identiques.

Les paramètres d' lParam1 et d' lParam2 correspondent au membre de LPARAM de la structure de TVITEM pour les deux éléments comparés. Le paramètre d' lParamSort correspond au membre de LPARAM de la structure d' TV_SORTCB .

Exemple

// Sort the item in reverse alphabetical order. 
int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
   // lParamSort contains a pointer to the tree control. 
   // The lParam of an item is just its handle,  
   // as specified with SetItemData
   CTreeCtrl* pmyTreeCtrl = (CTreeCtrl*)lParamSort;
   CString strItem1 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam1);
   CString strItem2 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam2);

   return strItem2.Compare(strItem1);
}
TVSORTCB tvs;

// Sort the tree control's items using my 
// callback procedure.
tvs.hParent = TVI_ROOT;
tvs.lpfnCompare = MyCompareProc;
tvs.lParam = (LPARAM)&m_TreeCtrl;

m_TreeCtrl.SortChildrenCB(&tvs);

Configuration requise

Header: afxcmn.h

Voir aussi

Référence

CTreeCtrl, classe

Graphique de la hiérarchie

CTreeCtrl::SortChildren