请大家帮我看一下,这个LISTCTRL的排序的回调函数没写明白!
xqk 2003-09-26 02:35:09 struct LIST_DATA
{
CString szName;
CString szType;
CString szSize;
CString szPath;
}listdata[500];
int CALLBACK ListCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
CSortList* pV=(CSortList*)lParamSort;
LIST_DATA* pInfo1=listdata+lParam1;
LIST_DATA* pInfo2=listdata+lParam2;
CString szComp1,szComp2;
int iCompRes;
switch(pV->m_nSortedCol)
{
case(0):
szComp1=pInfo1->szName;
szComp2=pInfo2->szName;
iCompRes=szComp1.Compare(szComp2);
break;
case(1):
if(pInfo1->szType == pInfo2->szType)
iCompRes = 0;
else
iCompRes=(pInfo1->szType < pInfo2->szType)?-1:1;
break;
default:
ASSERT(0);
break;
}
//根据当前的排序方式进行调整
if(pV->m_fAsc)
return iCompRes;
else
return iCompRes*-1;
}