commctrl.h

Mensaje LVM_SORTITEMSEX

Definición

LVM_SORTITEMSEX
    [parw]=(WPARAM)([tipow])wParam
    [parl]=(LPARAM)([tipol])lParam

Usa una función de comparación definida por la aplicación para ordenar los ítems en un control list-view. El índice de cada ítem cambia para reflejar al nueva secuencia. Se puede enviar este mensaje explícitamente o bien usar la macro ListView_SortItemsEx.

Descripción

_pfnCompare
Un puntero a una función de comparación definida por la aplicación. La función de comparación es invocada durante el proceso de ordenación cada vez que el orden relativo de dos ítems de la lista necesita ser comparado.
_lPrm
Valor definido por la aplicación que es pasado a la función de comparación.

Valor de retorno

Devuelve TRUE si tiene éxito, o FALSE en caso contrario.

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 ítem y lParam2 el índice del segundo. El parámetro lParamSort de ListView_SortItemsEx es pasado a la función de retrollamada como tercer parámetro.

La función de comparación debe retornar un valor negativo si el primer ítem debe preceder al segundo, un valor positivo si el primer ítem debe seguir al segundo, o cero si los dos ítems son equivalentes.

Este mensaje es similar a LVM_SORTITEMS, excepto por el tipo de información pasado a la función de comparación. Con LVM_SORTITEMSEX, se pasa el índice del ítem en lugar del valor de lparam.

Se puede enviar un mensaje LVM_GETITEMTEXT para recuperar más información de un ítem, si es necesario.

Hay que tener en cuenta que durante el proceso de ordenación, el contenido del list-view es inestable. Si la función de retrollamada envía cualquier mensaje al control list-view, el resultado es impredecible.