CListCtrl 的排序问题
目录:
项目中有这样的需求,要求list控件支持各个列的排序。
MFC 的CListCtrl本身提供了一个函数来支持排序:
CListCtrl::SortItems
原型:
BOOL
SortItems(
PFNLVCOMPARE
pfnCompare,
DWORD_PTR
dwData
);
|
Parameters
pfnCompare
回调函数。每次调用
SortItems
来排序时
Window
会自动调用这个回调函数。
所以我们可以把对各种数据类型的比较处理逻辑封装在这个函数中。例如:
CompareDate
、
CompareNumber
、
CompareString,etc.
值得注意的是:
该函数要么定义为类的静态成员函数, 要么定义为独立于全局函数。
dwData
Application-defined value that is passed to the comparison function.
一般情况下,可以把这个
pointer 定义为指向CListCtrl对象的指针。