CListCtrl::SortItems 是 MFC(Microsoft Foundation Classes)中的 CListCtrl 类的一个公共方法,用于对列表控件的项进行排序。该方法的声明如下:
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