void CAlarmDlg::OnColumnclickOld(NMHDR* pNMHDR, LRESULT* pResult) 
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
if (pNMListView->iSubItem == m_iListOldCol)
m_bListOldAsc= !m_bListOldAsc;
else
{
m_bListOldAsc= TRUE;
m_iListOldCol= pNMListView->iSubItem;
}
m_ListOld.SortItems((PFNLVCOMPARE)CompareFunc, (DWORD)(&m_ListOld));        
*pResult = 0;
}
int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2,LPARAM lParamSort)

CAlarmDlg * pDlg = (CAlarmDlg *)::AfxGetApp()->GetMainWnd();
BOOL bAsc= pDlg->m_bListOldAsc;
int iCol= pDlg->m_iListOldCol;
CListCtrl * pList = (CListCtrl *)lParamSort;
int iComRes= strcmp(pList->GetItemText(lParam1, iCol), 
pList->GetItemText(lParam2, iCol));
if (lParam1 == lParam2 )
AfxMessageBox("same");
if(!bAsc)
iComRes= iComRes * -1;
return iComRes;}为什么排序无效啊!我发现lParam1和lParam2总是相等!哪位大虾帮忙答疑啊!!!