MFC ActiveX 控件:事件
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 文件。
其他两篇文章详细讨论事件: