Partager via


Macros de contrôle composite

Ces macros définissent les mappages et entrées du récepteur d’événements.

Macro Description
BEGIN_SINK_MAP Marque le début du mappage du récepteur d’événements pour le contrôle composite.
END_SINK_MAP Marque la fin du mappage du récepteur d’événements pour le contrôle composite.
SINK_ENTRY Entrée dans la carte du récepteur d’événements.
SINK_ENTRY_EX Entrée dans la carte récepteur d’événements avec un paramètre supplémentaire.
SINK_ENTRY_EX_P (Visual Studio 2017) Semblable à SINK_ENTRY_EX sauf qu’il faut un pointeur vers iid.
SINK_ENTRY_INFO Entrée dans la carte du récepteur d’événements avec des informations de type fournies manuellement à utiliser avec IDispEventSimpleImpl.
SINK_ENTRY_INFO_P (Visual Studio 2017) Similaire à SINK_ENTRY_INFO sauf qu’il faut un pointeur vers iid.

Spécifications

En-tête : atlcom.h

BEGIN_SINK_MAP

Déclare le début du mappage du récepteur d’événements pour le contrôle composite.

BEGIN_SINK_MAP(_class)

Paramètres

_Classe
[in] Spécifie le contrôle.

Exemple

BEGIN_SINK_MAP(CMyCompositeCtrl)
   //Make sure the Event Handlers have __stdcall calling convention
   SINK_ENTRY(IDC_CALENDAR1, DISPID_CLICK, &CMyCompositeCtrl::ClickCalendar1)
   SINK_ENTRY(IDC_CALENDAR2, DISPID_CLICK, &CMyCompositeCtrl::ClickCalendar2)
END_SINK_MAP()

Notes

L’implémentation CE ATL des récepteurs d’événements ActiveX prend uniquement en charge les valeurs de retour de type HRESULT ou void de vos méthodes de gestionnaire d’événements. Toute autre valeur de retour n’est pas prise en charge et son comportement n’est pas défini.

END_SINK_MAP

Déclare la fin du mappage du récepteur d’événements pour le contrôle composite.

END_SINK_MAP()

Exemple

BEGIN_SINK_MAP(CMyCompositeCtrl)
   //Make sure the Event Handlers have __stdcall calling convention
   SINK_ENTRY(IDC_CALENDAR1, DISPID_CLICK, &CMyCompositeCtrl::ClickCalendar1)
   SINK_ENTRY(IDC_CALENDAR2, DISPID_CLICK, &CMyCompositeCtrl::ClickCalendar2)
END_SINK_MAP()

Notes

L’implémentation CE ATL des récepteurs d’événements ActiveX prend uniquement en charge les valeurs de retour de type HRESULT ou void de vos méthodes de gestionnaire d’événements. Toute autre valeur de retour n’est pas prise en charge et son comportement n’est pas défini.

SINK_ENTRY

Déclare la fonction de gestionnaire (fn) pour l’événement spécifié (dispid), du contrôle identifié par id.

SINK_ENTRY( id, dispid, fn )

Paramètres

id
[in] Identifie le contrôle.

dispid
[in] Identifie l’événement spécifié.

Fn
[in] Nom de la fonction de gestionnaire d’événements. Cette fonction doit utiliser la _stdcall convention d’appel et avoir la signature de style dispinterface appropriée.

Exemple

BEGIN_SINK_MAP(CMyCompositeCtrl)
   //Make sure the Event Handlers have __stdcall calling convention
   SINK_ENTRY(IDC_CALENDAR1, DISPID_CLICK, &CMyCompositeCtrl::ClickCalendar1)
   SINK_ENTRY(IDC_CALENDAR2, DISPID_CLICK, &CMyCompositeCtrl::ClickCalendar2)
END_SINK_MAP()

Notes

L’implémentation CE ATL des récepteurs d’événements ActiveX prend uniquement en charge les valeurs de retour de type HRESULT ou void de vos méthodes de gestionnaire d’événements. Toute autre valeur de retour n’est pas prise en charge et son comportement n’est pas défini.

SINK_ENTRY_EX et SINK_ENTRY_EX_P

Déclare la fonction de gestionnaire (fn) pour l’événement spécifié (dispid), de l’interface de distribution (iid), pour le contrôle identifié par l’ID.

SINK_ENTRY_EX( id, iid, dispid, fn )
SINK_ENTRY_EX_P( id, piid, dispid, fn ) // (Visual Studio 2017)

Paramètres

id
[in] Identifie le contrôle.

Iid
[in] Identifie l’interface de répartition.

piid
[in] Pointeur vers l’interface de répartition.

dispid
[in] Identifie l’événement spécifié.

Fn
[in] Nom de la fonction de gestionnaire d’événements. Cette fonction doit utiliser la _stdcall convention d’appel et avoir la signature de style dispinterface appropriée.

Exemple

BEGIN_SINK_MAP(CMyCompositCtrl2)
   //Make sure the Event Handlers have __stdcall calling convention
   SINK_ENTRY_EX(IDC_CALENDAR1, __uuidof(DCalendarEvents), DISPID_CLICK, 
      &CMyCompositCtrl2::ClickCalendar1)
   SINK_ENTRY_EX(IDC_CALENDAR2, __uuidof(DCalendarEvents), DISPID_CLICK, 
      &CMyCompositCtrl2::ClickCalendar2)
END_SINK_MAP()

Notes

L’implémentation CE ATL des récepteurs d’événements ActiveX prend uniquement en charge les valeurs de retour de type HRESULT ou void de vos méthodes de gestionnaire d’événements. Toute autre valeur de retour n’est pas prise en charge et son comportement n’est pas défini.

SINK_ENTRY_INFO et SINK_ENTRY_INFO_P

Utilisez la macro SINK_ENTRY_INFO au sein d’un mappage récepteur d’événements pour fournir les informations nécessaires par IDispEventSimpleImpl pour acheminer les événements vers la fonction de gestionnaire appropriée.

SINK_ENTRY_INFO( id, iid, dispid, fn, info )
SINK_ENTRY_INFO_P( id, piid, dispid, fn, info ) // (Visual Studio 2017)

Paramètres

id
[in] Entier non signé identifiant la source d’événement. Cette valeur doit correspondre au paramètre de modèle nID utilisé dans la classe de base IDispEventSimpleImpl associée.

Iid
[in] IID qui identifie l’interface de distribution.

piid
[in] Pointeur vers IID qui identifie l’interface de distribution.

dispid
[in] DISPID identifiant l’événement spécifié.

Fn
[in] Nom de la fonction de gestionnaire d’événements. Cette fonction doit utiliser la _stdcall convention d’appel et avoir la signature de style dispinterface appropriée.

info
[in] Informations de type pour la fonction de gestionnaire d’événements. Ces informations de type sont fournies sous la forme d’un pointeur vers une _ATL_FUNC_INFO structure. CC_CDECL est la seule option prise en charge dans Windows CE pour le champ CALLCONV de la _ATL_FUNC_INFO structure. Toute autre valeur n’est pas prise en charge, de sorte que son comportement n’est pas défini.

Notes

Les quatre premiers paramètres de macro sont identiques à ceux de la macro SINK_ENTRY_EX . Le paramètre final fournit des informations de type pour l’événement. L’implémentation CE ATL des récepteurs d’événements ActiveX prend uniquement en charge les valeurs de retour de type HRESULT ou void de vos méthodes de gestionnaire d’événements. Toute autre valeur de retour n’est pas prise en charge et son comportement n’est pas défini.

Voir aussi

Macros
Fonctions globales de contrôle composite