Partager via


macro ListView_SortItems (commctrl.h)

Utilise une fonction de comparaison définie par l’application pour trier les éléments d’un contrôle list-view. L’index de chaque élément change pour refléter la nouvelle séquence. Vous pouvez utiliser cette macro ou envoyer explicitement le message LVM_SORTITEMS.

Syntaxe

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

Paramètres

hwndLV

Type : HWND

Handle du contrôle list-view.

_pfnCompare

Type : PFNLVCOMPARE

Pointeur vers la fonction de comparaison définie par l’application. La fonction de comparaison est appelée pendant l’opération de tri chaque fois que l’ordre relatif de deux éléments de liste doit être comparé.

_lPrm

Type : LPARAM

Valeur définie par l’application transmise à la fonction de comparaison.

Valeur de retour

Type : BOOL

Retourne TRUE en cas de réussite ou FALSE sinon.

Remarques

La fonction de comparaison a la forme suivante.

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

Le paramètre lParam1 est la valeur associée au premier élément comparé ; et le paramètre lParam2 est la valeur associée au deuxième élément. Il s’agit des valeurs spécifiées dans la lParam membre de la structure LVITEM des éléments lorsqu’elles ont été insérées dans la liste. Le paramètre _lPrm est la même valeur passée au message LVM_SORTITEMS.

La fonction de comparaison doit retourner une valeur négative si le premier élément doit précéder le deuxième, une valeur positive si le premier élément doit suivre le deuxième ou zéro si les deux éléments sont équivalents.

Remarque Pendant le processus de tri, le contenu de l’affichage liste est instable. Si la fonction de rappel envoie des messages au contrôle list-view, les résultats sont imprévisibles.
 

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête commctrl.h