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 (含) 以後版本)。