MFC CListCtrl 填充数据,倒序排序
时间: 2024-03-23 11:36:30 浏览: 155
MFC ListCtrl 排序
您可以使用 CListCtrl 的 SortItems 方法来实现倒序排序。首先,您需要定义一个比较函数,用于比较两个列表项的数据。然后,您可以调用 SortItems 方法并将比较函数作为参数传递给它。以下是一个示例代码:
```c++
int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
CString strItem1 = ((CListCtrl*)lParamSort)->GetItemText(lParam1, 0);
CString strItem2 = ((CListCtrl*)lParamSort)->GetItemText(lParam2, 0);
return strItem1.Compare(strItem2) * -1; // 比较结果取反,实现倒序排序
}
void FillListCtrl(CListCtrl* pListCtrl)
{
// 填充数据
pListCtrl->InsertItem(0, _T("Item 1"));
pListCtrl->SetItemText(0, 1, _T("Subitem 1"));
pListCtrl->InsertItem(1, _T("Item 2"));
pListCtrl->SetItemText(1, 1, _T("Subitem 2"));
pListCtrl->InsertItem(2, _T("Item 3"));
pListCtrl->SetItemText(2, 1, _T("Subitem 3"));
// 倒序排序
pListCtrl->SortItems(CompareFunc, (LPARAM)pListCtrl);
}
```
在此示例中,CompareFunc 函数比较列表项的第一列数据,并将比较结果取反,实现倒序排序。FillListCtrl 函数首先填充数据,然后调用 SortItems 方法进行倒序排序。
阅读全文