Compartir a través de


macro ListView_SortItemsEx (commctrl.h)

Usa una función de comparación definida por la aplicación para ordenar los elementos de un control de vista de lista. El índice de cada elemento cambia para reflejar la nueva secuencia. Puede usar esta macro o enviar explícitamente el mensaje de LVM_SORTITEMSEX .

Sintaxis

void ListView_SortItemsEx(
   hwndLV,
   _pfnCompare,
   _lPrm
);

Parámetros

hwndLV

Tipo: HWND

Identificador del control de vista de lista.

_pfnCompare

Tipo: PFNLVCOMPARE

Puntero a una función de comparación definida por la aplicación. Se llama durante la operación de ordenación cada vez que es necesario comparar el orden relativo de dos elementos de lista.

_lPrm

Tipo: LPARAM

Valor definido por la aplicación que se pasa a la función de comparación.

Valor devuelto

None

Observaciones

La función de comparación tiene el siguiente formato.

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

donde lParam1 es el índice del primer elemento y lParam2 el índice del segundo. El parámetro lParamSort del ListView_SortItemsEx se pasa a la función de devolución de llamada como tercer parámetro.

La función de comparación debe devolver un valor negativo si el primer elemento debe preceder al segundo, un valor positivo si el primer elemento debe seguir el segundo o cero si los dos elementos son equivalentes.

Puede enviar un mensaje de LVM_GETITEMTEXT para recuperar más información sobre un elemento, si es necesario.

Esta macro es similar a ListView_SortItems, excepto el tipo de información que se pasa a la función de comparación. Con ListView_SortItemsEx, el índice del elemento se pasa en lugar de su valor lparam .

Nota Durante el proceso de ordenación, el contenido de la vista de lista es inestable. Si la función de devolución de llamada envía mensajes al control de vista de lista aparte de LVM_GETITEM (ListView_GetItem), los resultados son impredecibles.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado commctrl.h