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 el mensaje LVM_SORTITEMSEX explícitamente.

Sintaxis

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

Parámetros

hwndLV

Tipo: HWND

Identificador del control list-view.

_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 se debe comparar el orden relativo de dos elementos de lista.

_lPrm

Tipo: LPARAM de

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

Valor devuelto

Tipo: BOOL de

Devuelve TRUE si se ejecuta correctamente o FALSE de lo contrario.

Observaciones

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

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

donde lParam1 es el índice del primer elemento y lParam2 el índice del segundo. El parámetro _lPrm de ListView_SortItemsExse 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 de 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 Valor
cliente mínimo admitido Windows Vista [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de commctrl.h