关于CListCtrl的SortItem
我用如下方法排CListCtrl的序不得吃,lParam1, lParam2传进函数时都为0, 究竟该怎么做?
static int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
ctlList.SortItems(CompareFunc, reinterpret_cast <DWORD> (this));
int CPrgBookListView::CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
CListCtrl* ctlList = reinterpret_cast <CListCtrl*> (lParamSort);
LV_FINDINFO lvi;
memset(&lvi, 0, sizeof(lvi));
lvi.flags = LVFI_PARAM;
lvi.lParam = lParam1;
int nItem1(ctlList->FindItem(&lvi));
lvi.lParam = lParam2;
int nItem2(ctlList->FindItem(&lvi));
CString s1(ctlList->GetItemText(nItem1, 0));
CString s2(ctlList->GetItemText(nItem2, 0));
int nReturn(s1.CompareNoCase(s2));
return nReturn;
}