CTreeCtrl::SortChildrenCB
項目を比較するアプリケーション定義されたコールバック関数を使用してツリー ビューの項目を並べ替えるには、この関数を呼び出します。
BOOL SortChildrenCB(
LPTVSORTCB pSort
);
パラメーター
- pSort
TVSORTCB の構造体へのポインター。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
2 項目が同じである場合は最初の項目が 2 番目に従う場合、または 0 が返され、が最初の項目が 2 番上のと構造の比較関数、lpfnCompareは、正の値は負の値を返します。
lParam1 と lParam2 のパラメーターを比較する 2 項目の TVITEM の構造体の lParam のメンバーに対応します。lParamSort のパラメーターは TV_SORTCB の構造体の lParam のメンバーに対応します。
使用例
// 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);
必要条件
ヘッダー: afxcmn.h