CListCtrl::SortItems

可以使用应用程序定义的比较函数,排序列表视图项。

BOOL SortItems(
   PFNLVCOMPARE pfnCompare,
   DWORD_PTR dwData 
);

参数

  • [in] pfnCompare
    应用程序定义的比较函数的地址。

    每次相对顺序两个列表项需要将确定,排序操作调用比较函数。 比较函数必须是选件类的静态成员或不是任何选件类成员的独立功能。

  • [in] dwData
    将传递给比较功能的应用程序定义的值。

返回值

true,如果成功的方法;否则 false。

备注

此方法将每一项的索引反映新的序列。

比较函数,pfnCompare,具有以下形式:

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

比较函数必须返回负值,如果第一项应位于第二,一个正整数值,如果第一项应遵循第二,或者零,如果两个项目相等。

lParam1 参数为32位值与进行比较的第一项,并且,lParam2 参数为值与第二个项目。 这些是项目的 LVITEM 结构的 lParam 成员指定的值,则会插入到列表。 lParamSort 参数相同。dwData 值。

此方法发送 LVM_SORTITEMS 信息,在 Windows SDK所述。

示例

下面是产生它们的 lParam 值排序的项的一个简单的比较函数。

// Sort items by associated lParam
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2, 
    LPARAM lParamSort)
{
    UNREFERENCED_PARAMETER(lParamSort);

    return (int)(lParam1 - lParam2);
}
// Sort the items by passing in the comparison function.
void CListCtrlDlg::Sort()
{
    m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}

要求

标头: afxcmn.h

此控件支持Windows NT 3.51或更高版本下。

请参见

参考

CListCtrl选件类

层次结构图

CListCtrl::FindItem

CListCtrl::SortItemsEx