ListView_SortItemsEx宏 (commctrl.h)
使用应用程序定义的比较函数对列表视图控件的项进行排序。 每个项的索引会更改以反映新序列。 可以使用此宏或显式发送 LVM_SORTITEMSEX 消息。
语法
BOOL ListView_SortItemsEx(
HWND hwndLV,
PFNLVCOMPARE _pfnCompare,
LPARAM _lPrm
);
参数
hwndLV
类型:HWND
列表视图控件的句柄。
_pfnCompare
类型:PFNLVCOMPARE
指向应用程序定义的比较函数的指针。 每次需要比较两个列表项的相对顺序时,都会在排序操作期间调用它。
_lPrm
类型:LPARAM
传递给比较函数的应用程序定义值。
返回值
类型:BOOL
如果成功,则返回 TRUE;否则返回 FALSE。
言论
比较函数具有以下形式。
int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM _lPrm);
其中,lParam1 是第一项的索引,lParam2 第二项的索引。 ListView_SortItemsEx的 _lPrm 参数作为第三个参数传递给回调函数。
如果第一项应位于第二项之前,则比较函数必须返回一个负值,如果第一项应遵循第二项,则返回正值;如果两个项等效,则返回零。
如果需要,可以发送 LVM_GETITEMTEXT 消息以检索有关项的详细信息。
此宏类似于 ListView_SortItems,但传递给比较函数的信息类型除外。 使用 ListView_SortItemsEx,将传递项的索引,而不是 lparam 值。
注释 在排序过程中,列表视图内容不稳定。 如果回调函数将任何消息发送到列表视图控件(LVM_GETITEM(ListView_GetItem),则结果不可预知。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [仅限桌面应用] |
支持的最低服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | 窗户 |
标头 | commctrl.h |