Partager via


CWnd::OnCompareItem

L'infrastructure appelle cette fonction membre pour spécifier la position relative d'un nouvel élément dans une liste déroulante owner-draw ou une zone de liste triée enfant.

afx_msg int OnCompareItem( 
   int nIDCtl, 
   LPCOMPAREITEMSTRUCT lpCompareItemStruct  
);

Paramètres

  • nIDCtl
    L'identificateur du contrôle qui a envoyé le message d' WM_COMPAREITEM .

  • lpCompareItemStruct
    Contient un long pointeur vers une structure de données de COMPAREITEMSTRUCT qui contient les identificateurs et les données fournies par l'application pour deux éléments dans sur la zone ou zone de liste.

Valeur de retour

Indique la position relative des deux éléments. Elle peut avoir l'une des valeurs suivantes :

Valeur

Signification

–1

Trie de priorité 1 avant l'élément 2.

0

Tri de priorité 1 et 2 du point les mêmes.

1

Trie du point 1 après le point 2.

Notes

Si un combo ou une zone de liste est créé avec le style de CBS_SORT ou de LBS_SORT , windows envoie le propriétaire de zone de liste déroulante ou listbox un message d' WM_COMPAREITEM chaque fois que l'application ajoute un nouvel élément.

Deux éléments dans sur la zone ou zone de liste sont reformés dans une structure d' COMPAREITEMSTRUCT pointée pointe vers lpCompareItemStruct. OnCompareItem doit retourner une valeur indiquant les éléments doit apparaître avant l'autre. En général, les fenêtres fait à cet appel plusieurs reprises jusqu'à ce qu'il détermine la position exacte du nouvel élément.

Si le membre de hwndItem de la structure d' COMPAREITEMSTRUCT appartient à CListBox ou objet de CComboBox , la fonction virtuelle d' CompareItem de la classe appropriée est appelée. Substitution CComboBox::CompareItem ou CListBox::CompareItem dans votre CListBox ou classe dérivée d' CComboBox pour que la comparaison d'élément.

Notes

Cette fonction membre est appelée par l'infrastructure pour permettre à votre application de gérer un message de fenêtre.Les paramètres sont passés à la fonction reflètent les paramètres acceptés par l'infrastructure lorsque le message a été accepté.Si vous appelez l'implémentation de la classe de base de cette fonction, cette implémentation utilise les paramètres initialement passés avec le message et non les paramètres que vous fournissez à la fonction.

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CWnd, classe

Graphique de la hiérarchie

structure de COMPAREITEMSTRUCT

WM_COMPAREITEM

CListBox::CompareItem

CComboBox::CompareItem