为了搞清楚 CListCtrl 的 SetItemData 中 Data 指的是 什么。写了如下函数
int CALLBACK CompareName(LPARAM lParam1, LPARAM lParam2, LPARAM subItem)
{
CListCtrl3Dlg *pDlg=(CListCtrl3Dlg *)AfxGetMainWnd();
CListCtrl* pListCtrl = (CListCtrl*) &pDlg->m_ListSrc;
if(pListCtrl->GetStyle() & LVS_SORTASCENDING)
return (pListCtrl->GetItemText(lParam1, subItem).Compare(
pListCtrl->GetItemText(lParam2, subItem)));
else
return (pListCtrl->GetItemText(lParam2, subItem).Compare(
pListCtrl->GetItemText(lParam1, subItem)));
}
void CListCtrl3Dlg::OnColumnclickSrc(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
const int nCol = pNMListView->iSubItem;
// change column
LV_COLUMN lvcol