Поделиться через


CTreeCtrl::SortChildrenCB

Эта функция вызывается для сортировки элементов представления в виде дерева с помощью приложение- заданную функцию обратного вызова, которая сравнивает элементы.

BOOL SortChildrenCB(
   LPTVSORTCB pSort 
);

Параметры

  • pSort
    Указатель на структуру TVSORTCB.

Возвращаемое значение

Ненулевой, если успешно; в противном случае – значение 0.

Заметки

Функция сравнения структуры, lpfnCompare, должна возвращать отрицательное значение, если первый элемент должен предшествует второй, то положительное значение, если первый элемент должен соответствовать второго или вычеркивает, если 2 элемента эквивалентны.

Параметры lParam1 и lParam2 соответствующих прав lParam структуры TVITEM для 2 сравниваемые элементов.Параметр lParamSort соответствующего члену lParam структуры TV_SORTCB.

Пример

// 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);

Требования

Header: afxcmn.h

См. также

Ссылки

Класс CTreeCtrl

Диаграмма иерархии

CTreeCtrl::SortChildren