我是在LVN_COLUMNCLICK消息里进行的排序回调函数的呼叫
void CMyDlg::OnColumnclickListPic(NMHDR* pNMHDR, LRESULT* pResult)
{
m_lstPic.SortItems(CCAMERADlg::PicListSort, reinterpret_cast<LPARAM>(&m_lstPic));
*pResult = 0;
}// 此函数为static
int CMyDlg::PicListSort(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
CSortListCtrl* p = reinterpret_cast<CSortListCtrl*>(lParamSort);
CString s1 = p->GetItemText(lParam1, 0);
CString s2 = p->GetItemText(lParam2, 0);
return strcmp(s1,s2);
}
基本上就是按照msdn上写的 排序的时候lst里面有记录 但是跟进回调函数里发现lParam1和lParam2始终是0 没的比啊 总是同一行 为什么呢
void CMyDlg::OnColumnclickListPic(NMHDR* pNMHDR, LRESULT* pResult)
{
m_lstPic.SortItems(CCAMERADlg::PicListSort, reinterpret_cast<LPARAM>(&m_lstPic));
*pResult = 0;
}// 此函数为static
int CMyDlg::PicListSort(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
CSortListCtrl* p = reinterpret_cast<CSortListCtrl*>(lParamSort);
CString s1 = p->GetItemText(lParam1, 0);
CString s2 = p->GetItemText(lParam2, 0);
return strcmp(s1,s2);
}
基本上就是按照msdn上写的 排序的时候lst里面有记录 但是跟进回调函数里发现lParam1和lParam2始终是0 没的比啊 总是同一行 为什么呢
void CMyDlg::OnColumnclickListPic(NMHDR* pNMHDR, LRESULT* pResult)
{
m_lstPic.SortItems(CMyDlg::PicListSort, reinterpret_cast<LPARAM>(&m_lstPic));
*pResult = 0;
}
我在msdn对SortItems函数的解释中没有看到怎样传递lParam1和lParam2
我觉得这部分工作应该是回调函数来完成的 lst里面的记录数是无法确定的 难道要我一个一个传递lParam1和lParam2吗