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_GETITEMListView_GetItem),则结果不可预知。
 

要求

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