ON_EVENT_RANGE
Utilisez la macro d' ON_EVENT_RANGE pour définir une fonction de gestionnaire d'événements pour un événement déclenché par un contrôle OLE ayant un ID du contrôle dans une plage contiguë des identificateurs.
ON_EVENT_RANGE(theClass, idFirst, idLast, dispid, pfnHandler, vtsParams )
Paramètres
theClass
La classe à laquelle cette table de récepteurs d'événements appartient.idFirst
l'ID du contrôle du premier contrôle OLE dans la plage.idLast
l'ID du contrôle du dernier contrôle OLE dans la plage.dispid
l'ID de dispatch de l'événement déclenché par le contrôle.pfnHandler
Pointeur vers une fonction membre qui gère l'événement.Cette fonction doit avoir un type de retour de BOOL , un premier paramètre de type UINT (pour l'ID du contrôle), et les autres types de paramètres qui correspondent aux paramètres de l'événement (voir l' vtsParams).La fonction doit retourner TRUE pour indiquer l'événement a été gérée ; sinon FALSE.vtsParams
Une séquence de constantes de VTS_ qui spécifie les types de paramètres pour l'événement.La première constante doit être de type VTS_I4, pour l'ID de contrôleCe sont les mêmes constantes utilisées dans les entrées de mappage de dispatch telles que DISP_FUNCTION.
Notes
l'argument d' vtsParams est une liste espace-séparée de valeurs des constantes de VTS_ .Un ou plusieurs de ces valeurs séparées par des espaces (pas virgules) spécifie la liste de paramètres de la fonction.Par exemple :
VTS_I2 VTS_BOOL
spécifie une liste contenant un entier court suivi de BOOL.
Pour une liste des constantes de VTS_ , consultez l' EVENT_CUSTOM.
Exemple
L'exemple suivant montre un gestionnaire d'événements, pour l'événement MouseDown, implémenté pour trois contrôles (IDC_MYCTRL1 via IDC_MYCTRL3).La fonction du gestionnaire d'événements, OnRangeMouseDown, est déclarée dans le fichier d'en-tête de la classe de boîte de dialogue (CMyDlg) comme suit :
BOOL OnRangeMouseDown(UINT CtlID, short MouseButton, short Shift,
long x, long y);
Le code ci-dessous est défini dans le fichier d'implémentation de la classe de boîte de dialogue.
BEGIN_EVENTSINK_MAP(CMyDlg, CDialog)
ON_EVENT_RANGE(CMyDlg, IDC_MYCTRL1, IDC_MYCTRL3, -605, OnRangeMouseDown,
VTS_I4 VTS_I2 VTS_I2 VTS_I4 VTS_I4)
END_EVENTSINK_MAP()
Configuration requise
Header: afxdisp.h