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