Compartir por


Atributo event_receiver

Crea un receptor de eventos (receptor).

Nota:

Los atributos de eventos en C++ nativo no son compatibles con C++ estándar. No se compilan al especificar el modo de conformidad /permissive-.

Sintaxis

[ event_receiver(type
   [, layout_dependent=false]) ]

Parámetros

type
Enumeración de uno de los valores siguientes:

  • native para código de C/C++ no administrado (valor predeterminado para las clases nativas).

  • com para código COM. Este valor requiere que se incluyan estos archivos de encabezado:

    #define _ATL_ATTRIBUTES
    #include <atlbase.h>
    #include <atlcom.h>
    

layout_dependent
Especifique layout_dependent solo si type=com. layout_dependent es un valor booleano:

  • true significa que la firma de los delegados en el receptor de eventos debe coincidir exactamente con las que están enlazadas en el origen del evento. Los nombres del controlador del receptor de eventos deben coincidir con los nombres especificados en la interfaz del origen de eventos pertinente. Use coclass si layout_dependent es true. Es algo más eficaz especificar true.

  • false (valor predeterminado) significa que la convención de llamada y la clase de almacenamiento (virtual, static, y otras) no tienen que coincidir con el método de evento y los controladores. Los nombres de controlador tampoco necesitan coincidir con los nombres de métodos de la interfaz de origen de eventos.

Comentarios

El atributo event_receiver de C++ especifica que la clase o estructura a la que se aplica será un receptor de eventos, mediante el modelo de eventos unificado de Microsoft C++.

event_receiver se usa con el atributo event_source y las palabras clave __hook y __unhook. Use event_source para crear orígenes de evento. Use __hook en los métodos de un receptor de eventos para asociar ("enlazar") esos métodos a los eventos de un origen de eventos. Use __unhook para desasociarlos.

layout_dependent solo se especifica para receptores de eventos COM (type=com). El valor predeterminado para layout_dependent es false.

Nota:

Una estructura o clase basada en plantilla no puede contener eventos.

Requisitos

Contexto de atributo Valor
Se aplica a class, struct
Reiterativo No
Atributos requeridos coclass cuando layout_dependent=true
Atributos no válidos None

Para más información, consulte Contextos de atributo.

Consulte también

Atributos del compilador
event_source
__event
__hook
__unhook
Atributos de clase