Macro's voor samengesteld besturingselement

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze macro's definiëren gebeurtenissinktoewijzingen en -vermeldingen.

Macroniveau Description
BEGIN_SINK_MAP Hiermee wordt het begin van de gebeurtenissinktoewijzing voor het samengestelde besturingselement gemarkeerd.
END_SINK_MAP Hiermee markeert u het einde van de gebeurtenissinktoewijzing voor het samengestelde besturingselement.
SINK_ENTRY Vermelding van de gebeurtenissink-kaart.
SINK_ENTRY_EX Vermelding van de gebeurtenissinktoewijzing met een extra parameter.
SINK_ENTRY_EX_P (Visual Studio 2017) Vergelijkbaar met SINK_ENTRY_EX, behalve dat er een aanwijzer naar iid wordt gebruikt.
SINK_ENTRY_INFO Vermelding van de gebeurtenissinktoewijzing met handmatig opgegeven typegegevens voor gebruik met IDispEventSimpleImpl.
SINK_ENTRY_INFO_P (Visual Studio 2017) Vergelijkbaar met SINK_ENTRY_INFO, behalve dat er een aanwijzer naar iid wordt gebruikt.

Requirements

Koptekst: atlcom.h

BEGIN_SINK_MAP

Declareert het begin van de gebeurtenissinktoewijzing voor het samengestelde besturingselement.

BEGIN_SINK_MAP(_class)

Parameterwaarden

_Klasse
[in] Hiermee geeft u het besturingselement.

Example

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()

Opmerkingen

CE ATL-implementatie van ActiveX-gebeurtenissinks ondersteunt alleen retourwaarden van het type HRESULT of ongeldigheid van uw gebeurtenis-handlermethoden. Elke andere retourwaarde wordt niet ondersteund en het gedrag ervan is niet gedefinieerd.

END_SINK_MAP

Declareert het einde van de gebeurtenissinktoewijzing voor het samengestelde besturingselement.

END_SINK_MAP()

Example

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()

Opmerkingen

CE ATL-implementatie van ActiveX-gebeurtenissinks ondersteunt alleen retourwaarden van het type HRESULT of ongeldigheid van uw gebeurtenis-handlermethoden. Elke andere retourwaarde wordt niet ondersteund en het gedrag ervan is niet gedefinieerd.

SINK_ENTRY

Declareert de handler-functie (fn) voor de opgegeven gebeurtenis (dispid) van het besturingselement dat is geïdentificeerd door de id.

SINK_ENTRY( id, dispid, fn )

Parameterwaarden

ID
[in] Identificeert het besturingselement.

dispid
[in] Identificeert de opgegeven gebeurtenis.

Fn
[in] Naam van de gebeurtenis-handlerfunctie. Deze functie moet de _stdcall aanroepende conventie gebruiken en de juiste handtekening voor dispinterface-stijl hebben.

Example

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()

Opmerkingen

CE ATL-implementatie van ActiveX-gebeurtenissinks ondersteunt alleen retourwaarden van het type HRESULT of ongeldigheid van uw gebeurtenis-handlermethoden. Elke andere retourwaarde wordt niet ondersteund en het gedrag ervan is niet gedefinieerd.

SINK_ENTRY_EX en SINK_ENTRY_EX_P

Declareert de handlerfunctie (fn) voor de opgegeven gebeurtenis (dispid), van de verzendinterface (iid), voor het besturingselement dat is geïdentificeerd door id.

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

Parameterwaarden

ID
[in] Identificeert het besturingselement.

iid
[in] Identificeert de verzendinterface.

piid
[in] Aanwijzer naar de verzendinterface.

dispid
[in] Identificeert de opgegeven gebeurtenis.

Fn
[in] Naam van de gebeurtenis-handlerfunctie. Deze functie moet de _stdcall aanroepende conventie gebruiken en de juiste handtekening voor dispinterface-stijl hebben.

Example

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()

Opmerkingen

CE ATL-implementatie van ActiveX-gebeurtenissinks ondersteunt alleen retourwaarden van het type HRESULT of ongeldigheid van uw gebeurtenis-handlermethoden. Elke andere retourwaarde wordt niet ondersteund en het gedrag ervan is niet gedefinieerd.

SINK_ENTRY_INFO en SINK_ENTRY_INFO_P

Gebruik de SINK_ENTRY_INFO macro in een gebeurtenissinktoewijzing om de informatie op te geven die IDispEventSimpleImpl nodig heeft om gebeurtenissen naar de relevante handlerfunctie te routeren.

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

Parameterwaarden

ID
[in] Niet-ondertekend geheel getal waarmee de gebeurtenisbron wordt geïdentificeerd. Deze waarde moet overeenkomen met de nID-sjabloonparameter die wordt gebruikt in de gerelateerde IDispEventSimpleImpl-basisklasse .

iid
[in] IID die de verzendinterface identificeert.

piid
[in] Aanwijzer naar IID die de verzendinterface identificeert.

dispid
[in] DISPID die de opgegeven gebeurtenis identificeert.

Fn
[in] Naam van de gebeurtenis-handlerfunctie. Deze functie moet de _stdcall aanroepende conventie gebruiken en de juiste handtekening voor dispinterface-stijl hebben.

info
[in] Typ informatie voor de gebeurtenis-handlerfunctie. Dit type wordt verstrekt in de vorm van een aanwijzer naar een _ATL_FUNC_INFO structuur. CC_CDECL is de enige optie die wordt ondersteund in Windows CE voor het veld CALLCONV van de _ATL_FUNC_INFO structuur. Elke andere waarde wordt niet ondersteund, waardoor het gedrag niet is gedefinieerd.

Opmerkingen

De eerste vier macroparameters zijn hetzelfde als de parameters voor de SINK_ENTRY_EX macro. De laatste parameter bevat typegegevens voor de gebeurtenis. CE ATL-implementatie van ActiveX-gebeurtenissinks ondersteunt alleen retourwaarden van het type HRESULT of ongeldigheid van uw gebeurtenis-handlermethoden. Elke andere retourwaarde wordt niet ondersteund en het gedrag ervan is niet gedefinieerd.

Zie ook

Macro's
Algemene functies voor composiet besturingselement