共用方式為


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