macro ListView_SortItemsEx (commctrl.h)

Usa una funzione di confronto definita dall'applicazione per ordinare gli elementi di un controllo visualizzazione elenco. L'indice di ogni elemento cambia in modo da riflettere la nuova sequenza. È possibile utilizzare questa macro o inviare il messaggio di LVM_SORTITEMSEX in modo esplicito.

Sintassi

BOOL ListView_SortItemsEx(
   HWND         hwndLV,
   PFNLVCOMPARE _pfnCompare,
   LPARAM       _lPrm
);

Parametri

hwndLV

Tipo: HWND

Handle per il controllo visualizzazione elenco.

_pfnCompare

Tipo: PFNLVCOMPARE

Puntatore a una funzione di confronto definita dall'applicazione. Viene chiamato durante l'operazione di ordinamento ogni volta che è necessario confrontare l'ordine relativo di due elementi dell'elenco.

_lPrm

Tipo: LPARAM

Valore definito dall'applicazione passato alla funzione di confronto.

Valore restituito

Tipo: BOOL

Restituisce TRUE in caso di esito positivo oppure FALSE in caso contrario.

Osservazioni

La funzione di confronto ha il formato seguente.

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

dove lParam1 è l'indice del primo elemento e lParam2 l'indice del secondo. Il parametro _lPrm del ListView_SortItemsExviene passato alla funzione di callback come terzo parametro.

La funzione di confronto deve restituire un valore negativo se il primo elemento deve precedere il secondo, un valore positivo se il primo elemento deve seguire il secondo o zero se i due elementi sono equivalenti.

È possibile inviare un messaggio di LVM_GETITEMTEXT per recuperare ulteriori informazioni su un elemento, se necessario.

Questa macro è simile a ListView_SortItems, ad eccezione del tipo di informazioni passate alla funzione di confronto. Con ListView_SortItemsEx, l'indice dell'elemento viene passato anziché il relativo valore lparam .

Nota Durante il processo di ordinamento, il contenuto della visualizzazione elenco è instabile. Se la funzione di callback invia messaggi al controllo list-view a parte LVM_GETITEM (ListView_GetItem), i risultati sono imprevedibili.
 

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione commctrl.h