Udostępnij za pośrednictwem


CListCtrl::SortItems

Sortuje elementy w widoku listy za pomocą funkcji Porównywanie przez aplikację.

BOOL SortItems(
   PFNLVCOMPARE pfnCompare,
   DWORD_PTR dwData 
);

Parametry

  • [w]pfnCompare
    Adres funkcji porównania przez aplikację.

    Operacja sortowania wywołuje funkcję porównanie po każdym względna kolejność dwóch elementów listy musi zostać ustalona.Funkcja porównywania musi być członka statycznego klasy lub autonomicznych funkcji, która nie jest członkiem żadnej klasy.

  • [w]dwData
    Wartość przez aplikację, która jest przekazywany do funkcji porównania.

Wartość zwracana

trueJeśli metoda pomyślne; w przeciwnym razie false.

Uwagi

Ta metoda zmiany indeksu każdy element, aby odzwierciedlały nową kolejność.

Funkcja porównywania pfnCompare, ma następującą postać:

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

Funkcja porównanie musi zwracać wartość ujemna, jeśli pierwszy element powinien poprzedzać drugi, wartość dodatnią, jeśli pierwszy element należy postępować zgodnie z drugim lub zero, jeśli dwa elementy są równe.

lParam1 Parametr jest skojarzone z pierwszego elementu, który jest porównywana wartość 32-bitowe i lParam2 parametr jest wartość skojarzona z drugiego elementu.Są to wartości, które zostały określone w lParam Członkowskich elementów LVITEM struktury, gdy zostały one umieszczone na liście.lParamSort Parametr jest taki sam, jak dwData wartości.

Metoda ta wysyła LVM_SORTITEMS wiadomości, która jest opisana w Windows SDK.

Przykład

Oto proste porównanie funkcji w elementy są sortowane według ich lParam wartości.

// 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);
}

Wymagania

Nagłówek: afxcmn.h

Ten formant jest obsługiwane w systemie Windows NT 3.51 lub nowszym.

Zobacz też

Informacje

Klasa CListCtrl

Wykres hierarchii

CListCtrl::FindItem

CListCtrl::SortItemsEx