Compartir a través de


Resumen de control de eventos ATL

Normalmente administrar eventos COM es un proceso relativamente simple.hay tres pasos principales:

  • Implemente la interfaz de evento en el objeto.

  • Advise el origen de eventos que el objeto desee recibir eventos.

  • Unadvise el origen de eventos cuando el objeto ya no necesita recibir eventos.

implementar la interfaz

Hay cuatro formas principales de implementar una interfaz mediante ATL.

Derivar de

Adecuado para el tipo de interfaz

Requiere implementar todo el methods*

Requiere una biblioteca de tipos en tiempo de ejecución

la interfaz

Vtable

No

IDispatchImpl

Doble

IDispEventImpl

Dispinterface

No

IDispEventSimpleImpl

Dispinterface

No

No

* Al utilizar clases de soporte de ATL, le nunca que implementar los métodos de IUnknown o de IDispatch manualmente.

El muestran y Unadvising el origen del evento

Existen tres formas principales de advertir y de unadvising un origen de eventos mediante ATL.

Advise la función

función de Unadvise

El más adecuado para el uso con

¿Necesita hacer un seguimiento de una cookie?

Comentarios

AtlAdvise, CComPtrBase:: Advise

AtlUnadvise

Vtable o interfaces duales

AtlAdvise es una función global de ATL.CComPtrBase::Advise es utilizado por CComPtr y CComQIPtr.

IDispEventSimpleImpl:: DispEventAdvise

IDispEventSimpleImpl:: DispEventUnadvise

IDispEventImpl o IDispEventSimpleImpl

No

Menos parámetros que AtlAdvise desde la clase base hace más trabajo.

CComCompositeControl:: AdviseSinkMap (TRUE)

CComCompositeControl:: AdviseSinkMap (FALSE)

Controles ActiveX en controles de Compuesto

No

CComCompositeControl::AdviseSinkMap indica todas las entradas del mapa de receptor de eventos.Igual unadvises de función entradas.Este método llama automáticamente la clase de CComCompositeControl .

CAxDialogImpl:: AdviseSinkMap (TRUE)

CAxDialogImpl:: AdviseSinkMap (FALSE)

Controles ActiveX en un cuadro de diálogo

No

CAxDialogImpl::AdviseSinkMap aconseja y los unadvises todos los controles ActiveX en el recurso de cuadro de diálogo.Esto se hace automáticamente para usted.

Vea también

Conceptos

Control de eventos y ATL

Admitir IDispEventImpl