ListView_SortItemsEx 宏 (commctrl.h)

使用应用程序定义的比较函数对列表视图控件的项进行排序。 每个项的索引都会更改以反映新序列。 可以使用此宏或显式发送 LVM_SORTITEMSEX 消息。

语法

void ListView_SortItemsEx(
   hwndLV,
   _pfnCompare,
   _lPrm
);

参数

hwndLV

类型: HWND

列表视图控件的句柄。

_pfnCompare

类型: PFNLVCOMPARE

指向应用程序定义的比较函数的指针。 每次需要比较两个列表项的相对顺序时,都会在排序操作期间调用它。

_lPrm

类型: LPARAM

传递给比较函数的应用程序定义值。

返回值

备注

比较函数具有以下形式。

int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);

其中 lParam1 是第一项的索引, lParam2 是第二项的索引。 ListView_SortItemsExlParamSort 参数作为其第三个参数传递给回调函数。

如果第一项应位于第二项之前,则比较函数必须返回负值;如果第一项应紧跟第二项,则返回正值;如果两项等效,则比较函数必须返回零。

如果需要,可以发送 LVM_GETITEMTEXT 消息以检索有关项目的详细信息。

此宏类似于 ListView_SortItems,但传递给比较函数的信息类型除外。 使用 ListView_SortItemsEx,将传递项的索引而不是其 lparam 值。

注意 在排序过程中,列表视图内容不稳定。 如果回调函数将除LVM_GETITEM (ListView_GetItem) 之外的任何消息发送到列表视图控件,则结果不可预知。
 

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 commctrl.h