为什么回掉函数没有起作用呢?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); // AfxMessageBox("In MyCompareProc(...)!"); return strcmp(strItem2, strItem1);
}void CxxxDlg::OnSort()
{
// The pointer to my tree control.
CTreeCtrl *pmyTreeCtrl = &m_psTree; TVSORTCB tvs;
tvs.hParent = TVI_ROOT;
tvs.lpfnCompare = MyCompareProc;
tvs.lParam = (LPARAM) pmyTreeCtrl;
pmyTreeCtrl->SortChildrenCB(&tvs);
}
{
CTreeCtrl* pmyTreeCtrl = (CTreeCtrl*) lParamSort;
CString strItem1 = pmyTreeCtrl->GetItemText((HTREEITEM) lParam1);
CString strItem2 = pmyTreeCtrl->GetItemText((HTREEITEM) lParam2); // AfxMessageBox("In MyCompareProc(...)!"); return strcmp(strItem2, strItem1);
}void CxxxDlg::OnSort()
{
// The pointer to my tree control.
CTreeCtrl *pmyTreeCtrl = &m_psTree; TVSORTCB tvs;
tvs.hParent = TVI_ROOT;
tvs.lpfnCompare = MyCompareProc;
tvs.lParam = (LPARAM) pmyTreeCtrl;
pmyTreeCtrl->SortChildrenCB(&tvs);
}
解决方案 »
- vs2008 sp1程序防止菜单栏在激活时获得焦点//为什么不让激活时,获取焦点呢?
- microsoft visio在MFC的显示
- 请问一加密方法(源程序如下)的解密方法(该方法的功能是将目录下的htm文件加密成aql文件)
- 如何拦截控件被销毁的消息~
- 怎样查看一个DLL都导出了那些类和函数?
- 如何实现单文档的窗体分割
- 要仿一个.exe程序的界面,有办法直接从exe提取出界面资源加入我的工程吗?
- vc++和vc++.net,我到底该学谁?
- 在线调查:大家都用什么搜索引擎呀,google经常上不去
- 请问怎么判断一个连接已断开
- 谁有office97(中英文版都可以)
- 在线求救:怎样根据对方的ip地址确定对方的所在地?
struct TREEITEMDATA
{
CString strItemText;
}
TREEITEMDATA *pItem = new TREEITEMDATA;
pItem->strItemText = GetItemText( hItem );
SetItemData( hItem , (DWORD)pItem );....
static int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
TREEITEMDATA *pItem1 = reinterpret_cast<TREEITEMDATA*>( lParam1 );
TREEITEMDATA *pItem2 = reinterpret_cast<TREEITEMDATA*>( lParam2 );
if(pItem1 == NULL || pItem2 == NULL )
return 0;
return pItem1->strItemText.Compare( pItem2->strItemtext);
}