Compartilhar via


CTreeCtrl::SortChildrenCB

Chamar essa função para classificar itens em modo de exibição de árvore usando uma função de retorno de chamada application-defined que compare os itens.

BOOL SortChildrenCB( 
   LPTVSORTCB pSort  
);

Parâmetros

  • pSort
    Ponteiro a estrutura de TVSORTCB .

Valor de retorno

Diferente de zero se com êxito; se não 0.

Comentários

A função de comparação de estrutura, lpfnCompare, deve retornar um valor negativo se o primeiro item preceder o segundo, um valor positivo se o primeiro item e o segundo, ou zera se os dois itens são equivalentes.

Os parâmetros de lParam1 e de lParam2 correspondem ao membro de lParam estrutura de TVITEM para os dois itens que estão sendo comparados. O parâmetro de lParamSort corresponde ao membro de lParam estrutura de TV_SORTCB .

Exemplo

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

Requisitos

Cabeçalho: afxcmn.h

Consulte também

Referência

Classe CTreeCtrl

Gráfico da hierarquia

CTreeCtrl::SortChildren