The latest version of this topic can be found at Event Handling.
Event handling is also supported for native C++ classes (C++ classes that do not implement COM objects), however, that support is deprecated and will be removed in a future release. For more information, see Event Handling in Native C++.
Event handling supports single- and multithreaded usage and protects data from simultaneous multithread access. It also allows you to derive subclasses from event source or receiver classes and support extended event sourcing/receiving in the derived class.
Visual C++ includes attributes and keywords for declaring events and event handlers. The event attributes and keywords can be used in CLR programs and in native C++ programs.
|event_source||Creates an event source.|
|event_receiver||Creates an event receiver (sink).|
|__event||Declares an event.|
|__raise||Emphasizes the call site of an event.|
|__hook||Associates a handler method with an event.|
|__unhook||Dissociates a handler method from an event.|