ActiveX 控件使用事件通知内容发生控件的容器。 事件的通用示例包括在控件状态单击控件,使用键盘输入的数据,并且更改。 在这些操作时,控件引发事件通知容器。
事件还调用消息。
MFC 支持两个事件:常用和自定义。 常用事件是自动的 COleControl 类处理这些事件。 有关常用事件的完整列表,请参见的文章 MFC ActiveX 控件:添加股票事件。 当该控件特定的操作发生时,自定义事件提供了通知控件容器。 某些示例在以下某一窗口消息的控件或接收的内部状态的更改。
为了能够将相应地激发的控件事件,控件类必须映射每个控件的事件。应调用的成员相关函数,当发生事件时。 此映射机制 (称为事件映射) 焦点有关事件的信息并使 Visual Studio 很容易地访问和操作该控件的事件。 此事件由映射以下宏声明,在标题 (。H 控件类) 声明的文件:
DECLARE_EVENT_MAP()
在事件声明映射后,在控件的实现 (.cpp) 文件必须定义它。 以下代码行定义事件映射,允许控件触发给定事件:
BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
...
END_EVENT_MAP()
如若使用 MFC ActiveX 控件向导创建项目时,它自动添加这些行。 如果不使用 MFC ActiveX 控件向导,您必须手动添加这些行。
类视图,可以将定义类支持的库存事件 COleControl 或自定义事件。 对于每个新事件,类视图自动将适当的输入到控件的事件映射和控件的 .idl 文件。
其他两个情景详细介绍事件: