int callback csortlist::listcompare(lparam lparam1, lparam lparam2, lparam lparamsort)
{
csortlist* plist=(csortlist*)lparamsort;
int nitem1, nitem2;
lvfindinfo findinfo;
findinfo.flags = lvfi_param; // 指定查找方式
findinfo.lparam = lparam1;
nitem1 = plist->finditem(&findinfo, -1); // 得到对应item索引
findinfo.lparam = lparam2;
nitem2 = plist->finditem(&findinfo, -1);
if((nitem1 == -1) || (nitem2 == -1))
{
trace("无法找到!\n");
return 0;
}
cstring str1,str2;
str1 = plist->getitemtext(nitem1, plist->m_nsortedcol); // 得到排序列的text
str2 = plist->getitemtext(nitem2, plist->m_nsortedcol);
int icompres = 0;
if(str1 > str2)
icompres = 1;
else if(str1 == str2)
icompres = 0;
else
icompres = -1;
if(plist->m_basc)
return icompres;
else
return icompres*-1;
return 0;
}