Share via


CListCtrl::SortItems

Ordina le voci della visualizzazione elenco tramite una funzione di confronto definita dall'applicazione.

BOOL SortItems(
   PFNLVCOMPARE pfnCompare,
   DWORD_PTR dwData 
);

Parametri

  • [in] pfnCompare
    L'indirizzo della funzione di confronto definita dall'applicazione.

    L'operazione di ordinamento chiama la funzione di confronto quando l'ordine relativo di due elementi elenco è necessario determinare da.La funzione di confronto deve essere un membro statico di una classe o una funzione autonoma che non è un membro di una classe.

  • [in] dwData
    Valore definito dall'applicazione che viene passato alla funzione di confronto.

Valore restituito

true se il metodo è riuscito; in caso contrario false.

Note

Questo metodo modifica l'indice di ogni elemento per riflettere la nuova sequenza.

La funzione di confronto, pfnCompare, ha il formato seguente:

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

La funzione di confronto deve restituire un valore negativo se il primo elemento precede il secondo, un valore positivo se il primo elemento segue il secondo, o zero se i due elementi sono uguali.

Il parametro lParam1 è il valore a 32 bit associato al primo elemento che viene confrontato insieme al parametro lParam2 è il valore associato al secondo elemento.Questi sono i valori specificati nel membro lParam della struttura LVITEM di elementi quando sono state inserite nell'elenco.Il parametro lParamSort è uguale al valore dwData.

Questo metodo invia il messaggio LVM_SORTITEMS, come descritto in Windows SDK.

Esempio

L'esempio seguente è una funzione di confronto semplice che risultati di elementi che vengono ordinati in base ai valori 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);
}

Requisiti

intestazione: afxcmn.h

Questo controllo è supportato in Windows NT 3,51 o successiva.

Vedere anche

Riferimenti

Classe di CListCtrl

Grafico della gerarchia

CListCtrl::FindItem

CListCtrl::SortItemsEx