问题遇到的现象和发生背景
win32 编程中使用ListView控件,禁用了表头点击排序,想用一个按钮点击时排序。
用代码块功能插入代码,请勿粘贴截图
if (LOWORD(wParam) == IDC_BUTTON1)
{
ListView_SortItems(GetDlgItem(hDlg, IDC_LIST1), SortItemFunc, MAKELPARAM(4, 0));
}
break;
int CALLBACK SortItemFunc(LPARAM lParam1, LPARAM lParam2, LPARAM sortID)
{
//lParam1,lParam2 总是为NULL
int nCol = LOWORD(sortID); //要比较的列索引
int nAcs = HIWORD(sortID); //按升序或是降序排序
int nRet = 0;
if (nCol == 4)
{
LVITEM* pStu1 = (LVITEM*)lParam1;
LVITEM* pStu2 = (LVITEM*)lParam2;
nRet = _tccmp(pStu1->pszText, pStu2->pszText);
}
return (nAcs == 0 ? nRet : -nRet);
}
运行结果及报错内容
lParam1,lParam2 总是为NULL
我的解答思路和尝试过的方法
请问应该怎样才能正确调用排序函数,谢谢了