void CAlarmDlg::OnColumnclickOld(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
if (pNMListView->iSubItem == m_iListOldCol)
m_bListOldAsc= !m_bListOldAsc;
else
{
m_bListOldAsc= TRUE;
m_iListOldCol= pNMListView->iSubItem;
}
m_ListOld.SortItems((PFNLVCOMPARE)CompareFunc, (DWORD)(&m_ListOld));
*pResult = 0;
}
int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2,LPARAM lParamSort)
{
CAlarmDlg * pDlg = (CAlarmDlg *)::AfxGetApp()->GetMainWnd();
BOOL bAsc= pDlg->m_bListOldAsc;
int iCol= pDlg->m_iListOldCol;
CListCtrl * pList = (CListCtrl *)lParamSort;
int iComRes= strcmp(pList->GetItemText(lParam1, iCol),
pList->GetItemText(lParam2, iCol));
if (lParam1 == lParam2 )
AfxMessageBox("same");
if(!bAsc)
iComRes= iComRes * -1;
return iComRes;}为什么排序无效啊!我发现lParam1和lParam2总是相等!哪位大虾帮忙答疑啊!!!
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
if (pNMListView->iSubItem == m_iListOldCol)
m_bListOldAsc= !m_bListOldAsc;
else
{
m_bListOldAsc= TRUE;
m_iListOldCol= pNMListView->iSubItem;
}
m_ListOld.SortItems((PFNLVCOMPARE)CompareFunc, (DWORD)(&m_ListOld));
*pResult = 0;
}
int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2,LPARAM lParamSort)
{
CAlarmDlg * pDlg = (CAlarmDlg *)::AfxGetApp()->GetMainWnd();
BOOL bAsc= pDlg->m_bListOldAsc;
int iCol= pDlg->m_iListOldCol;
CListCtrl * pList = (CListCtrl *)lParamSort;
int iComRes= strcmp(pList->GetItemText(lParam1, iCol),
pList->GetItemText(lParam2, iCol));
if (lParam1 == lParam2 )
AfxMessageBox("same");
if(!bAsc)
iComRes= iComRes * -1;
return iComRes;}为什么排序无效啊!我发现lParam1和lParam2总是相等!哪位大虾帮忙答疑啊!!!
解决方案 »
- vs2010 菜单添加图标
- 微软的帮助文档看不懂,link -section:.data,rws -section:.bss,rws添加在哪里
- 大家爱给我出个注意,我该跳槽吗
- vc++学习qq群
- 运行时动态替换Dll的问题
- 如何用我自己的程序,控制别的程序弹出菜单??别人的程序是没有窗体的,但是有托盘图标
- “fatal error C1001:内部编译器错误”是怎么回事?
- 在线送分:多个网络socket连接线程,如何提高其中一个线程数据发送的优先级以避免其它socket链接抢带宽
- oracle 安装错误,向各位高手求助!!!在线等待!
- 请问在Windows CE中是否可以使用Access数据库,特别是在PDA上?
- 两个 CSocket 问题
- 哪有php资源
通过SetItemData()设。另外,恐怕你传递的参数lParamSort并不足以进行比较,比如,你并不知道当前是按捺以列进行排序。