int SortItems(LPFNLVCOMPARE pfnCompare, DWORD_PTR dwData);
- pfnCompare 是一个回调函数指针,用于比较两个项的顺序。该回调函数的原型应该是 int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);。
- dwData 是传递给比较函数的用户定义数据。
以下是一个简单的示例:
// 比较函数,根据项的文本进行升序排序
int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
CListCtrl* pListCtrl = reinterpret_cast<CListCtrl*>(lParamSort);
CString strItem1 = pListCtrl->GetItemText(static_cast<int>(lParam1), 0);
CString strItem2 = pListCtrl->GetItemText(static_cast<int>(lParam2), 0);
return strItem1.Compare(strItem2);
}
// 在代码中调用 SortItems
m_listCtrl.SortItems(CompareFunc, reinterpret_cast<DWORD_PTR>(&m_listCtrl));
这个例子中,我们定义了一个比较函数 CompareFunc,它比较两个项的文本。然后,我们调用 SortItems 方法,将比较函数和列表控件对象传递给它。这将导致列表控件中的项按照指定的比较函数进行排序。
转载请注明出处:http://www.zyzy.cn/article/detail/18643/MFC/CListCtrl