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