CLISTCTRL排序的实现

chocobo 2003-08-18 10:00:27
int CALLBACK ListCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
CMainFrame* cFrm = (CMainFrame*)::AfxGetMainWnd();
CString strValue1 = cFrm->mcListCtrl.GetItemText(int
(lParam1),cFrm->Column);
CString strValue2 = cFrm->mcListCtrl.GetItemText(int
(lParam2),cFrm->Column);
int i = strcmp(strValue1,strValue2);
if( i=0 ) i = 1;
return i;
}
void CMainFrame::SortColumn(int iColumn)//通过COLUMNCLICK触发
{
if( Column != iColumn )
{
Column = iColumn;
mcListCtrl.SortItems( ListCompare, NULL );
}
mcShow.SetWindowText("已按照"+COLUMN[Column]+"排序");
}
但却没有作用,我跟踪它的实现时,发现lParam1和lParam2总是0,为什么?
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chocobo 2003-08-21
  • 打赏
  • 举报
回复
up
bcpl 2003-08-20
  • 打赏
  • 举报
回复
lParam1(2)都是列表项的ItemData,你必须事先用CListCtrl::SetItemData设好
chocobo 2003-08-20
  • 打赏
  • 举报
回复
up
chocobo 2003-08-20
  • 打赏
  • 举报
回复
up

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧