·CListCtrl
函数原型为:
BOOL CListCtrl:
其中第一个参数为全局
第二个参数为用户数据
该函数返回-1,代表
返回1代表第一项排应
返回0代表两项相等。
int CALLBACK ListCompar
其中第三个参数为调用
第一和第二个参数为用
BOOL CListCtrl:
·我们什么时候需要排
实现这点可以在父窗口
//排序回调函数实现
static int CALLBACK MyCompareP
{
// lParamSort
// The lParam of an item is just its index.
//以第一列为根据排
CListCtrl*
CString strItem1 = pListCtrl-
CString strItem2 = pListCtrl-
//比较两个数
LPCTSTR s1=(LPCTST
LPCTSTR s2=(LPCTST
int n1=atoi(s1
int n2=atoi(s2
return -1;
else
return 1;
}
void C***::OnCo
{
NM_LISTVIE
// TODO: Add your control notificati
m_ShowData
*pResult = 0;}
整个过程是这样的: 当你点击列表控件的表
----------
首先,要让CList
for(int i = 0; i < listCtrl.G
{
SetItemDat
}
这样写的原因下面马上
接下来就是调用CLi
int CALLBACK listCompar
这里的lParam1
最后就是实现那个回调
//////////
//按第六列排序
int CALLBACK listCompar
{
CListCtrl*
CString strItem1 = pListCtrl-
CString strItem2 = pListCtrl-
LVCOLUMN Vol;
CString csStr("");
TCHAR szCol[MAX_
Vol.pszTex
Vol.mask=L
Vol.cchTex
pListCtrl-
csStr = CString(Vo
if (csStr.Rig
{
return _tcscmp(st
}
else if (csStr.Rig
{
return _tcscmp(st
}
else
{
return _tcscmp(st
}
}
//////////
void CManageVie
{
NM_LISTVIE
// TODO: Add your control notificati
CListCtrl &m_ListCtr
m_ListCtrl
m_ListCtrl
}
//////////