SortChildrenCB
-
Hallo,
vielleicht kann mir hier ja jemand weiterhelfen. Ich möchte ein CTreeCtrl selbst sortieren. Hier erstmal der Code.
void CWspSolutionMapExplorer::OnSoexSortSpecial() { TVSORTCB tvs; CTreeCtrl *pmyTreeCtrl=&m_wndSolutionMapExplorer; tvs.hParent = g_Solution.m_hTree; tvs.lpfnCompare =MyCompareProc; tvs.lParam = (LPARAM)pmyTreeCtrl; m_wndSolutionMapExplorer.SortChildrenCB(&tvs); } static int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) { CTreeCtrl* pmyTreeCtrl = (CTreeCtrl*) lParamSort; CString strItem1=pmyTreeCtrl->GetItemText((HTREEITEM) lParam1); CString strItem2 =pmyTreeCtrl->GetItemText((HTREEITEM) lParam2); return strcmp(strItem2, strItem1); }
MyCompareProc wird 5mal ausgeführt ist korrekt. pmyTreeCtrl kommt auch in MyCompareProc an. Allerdings bleiben strItem1 und strItem2 leer, also kein text vorhanden. lParam1 und lParam2 sollen laut MSDN die HTREEITEMS sein die verglichen werden sollen, sind aber immer "2"????
Jemand eine Idee?
Gruss und besten Dank im Vorraus
BobStretch
-
Gruss und besten Dank im Vorraus
-
warum wird v o r r a u s zenziert?????
-
keiner eine antwort?
-
lParam1 und lParam2 sind die Daten die du z.B. via SetItemData setzen kannst.
Du kannst natürlich das Handle zum TreeItem dort hinterlegen wenn du eines hinzufügst.Und es heißt voraus.
-
mensch, danke eh. stimmt.
vorraus <- ist dies ein grund um das zu zenzieren???