Share via


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