正在阅读:在ListCtrl中进行排序在ListCtrl中进行排序

2004-04-06 14:27 出处:VChelp 作者:闻怡洋 责任编辑:sdq

  //排序函数实现
  int CALLBACK ListCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
  {
   //通过传递的参数来得到CSortList对象指针,从而得到排序方式
   CSortList* pV=(CSortList*)lParamSort;
 
   //通过ItemData来确定数据
   DEMO_DATA* pInfo1=strAllData+lParam1;
   DEMO_DATA* pInfo2=strAllData+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->iAge == pInfo2->iAge)
     iCompRes = 0;
    else
     iCompRes=(pInfo1->iAge < pInfo2->iAge)?-1:1;
    break;
   default:
    ASSERT(0);
    break;
   }
   //根据当前的排序方式进行调整
   if(pV->m_fAsc)
    return iCompRes;
   else
    return iCompRes*-1;
  }


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品