Condividi tramite


macro ListView_SortItemsEx (commctrl.h)

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

Sintassi

void ListView_SortItemsEx(
   hwndLV,
   _pfnCompare,
   _lPrm
);

Parametri

hwndLV

Tipo: HWND

Handle per il controllo di 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

nessuno

Osservazioni

La funzione di confronto ha il modulo seguente.

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

dove lParam1 è l'indice del primo elemento e lParam2 l'indice del secondo. Il parametro lParamSort del ListView_SortItemsEx viene 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 di visualizzazione elenco a parte LVM_GETITEM (ListView_GetItem), i risultati sono imprevedibili.
 

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione commctrl.h