event_receiver
crea un ricevitore di eventi (sink).
[ event_receiver(
type
[, layout_dependent=false]
) ]
Parametri
type
Un'enumerazione di uno dei seguenti valori:native per il codice non gestito C/C++ (impostazione predefinita per le classi native).
com per il codice COM.Questo valore è necessario includere i seguenti file di intestazione:
#define _ATL_ATTRIBUTES #include <atlbase.h> #include <atlcom.h>
layout_dependent
specificare layout_dependent solo se type=COM.layout_dependent è un valore booleano:true indica che la firma del ricevitore dei delegati nel caso deve corrispondere esattamente a quelle a cui sono contenuti nell'origine agganciato.I nomi dei gestori del ricevitore di eventi devono corrispondere ai nomi specificati nell'interfaccia rilevante di origine evento.È necessario utilizzare coclasse quando layout_dependent viene true.È leggermente più efficiente specificare true.
false (impostazione predefinita) significa che la convenzione di chiamata e la classe di archiviazione (virtuale, statico e altre) non devono corrispondere al metodo dell'evento e gestori; né il gestore che i nomi devono corrispondere ai nomi dei metodi di interfaccia di origine evento.
Note
event_receiver L'attributo C++ specifica che la classe o la struttura a cui viene applicata sarà un ricevitore di eventi, utilizzando il modello di eventi unificato Visual C++.
event_receiver viene utilizzato con un event_source attributo e __hook e __unhook parole chiave.utilizzo un event_source per creare le origini evento.utilizzo __hook nei metodi di un ricevitore di eventi per associare (“funzione„) i metodi del ricevitore di eventi agli eventi di origine eventi.utilizzo __unhook per dissociarli.
layout_dependent viene specificato solo per i ricevitori di eventi COM (type=COM).l'impostazione predefinita per layout_dependent viene false.
[!NOTA]
Una classe o una struttura basata su template non può contenere eventi.
Requisiti
contesto di attributo
Si applica a |
classe, struct |
ripetibile |
No |
attributi obbligatori |
coclasse quando layout_dependent=true |
attributi non validi |
Nessuno |
Per ulteriori informazioni, vedere Associare ai contesti.