commctrl.h

Macro ListView_SortItems

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 usar esta macro o enviar el mensaje LVM_SORTITEMS explícitamente.

Definición

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

Descripción

hwndLV
Un manipulador del control list-view.
_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);
El parámetro lParam1 es el valor asociado con el primer ítem que se está comparando; y el parámetro lParam2 es el valor asociado con el segundo ítem. Estos son los valores que fueron especificados en el miembro lParam de la estructura LVITEM del ítem cuando fue insertado en la lista. El parámetro lParamSort es el mismo valor pasado al mensaje LVM_SORTITEMS.

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.

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.