事件映射
每当控件需要通知其容器某些操作 (由控件开发) 发生 (如鼠标单击或按键、更改控制到状态) 将调用事件触发函数。 该函数通知控件容器某些重要操作通过激发相关事件发生。
Microsoft 基础类 (MFC) 库提供优化激发的事件的编程模型。 在此模型中,在特定函数“控件的事件的事件映射”使用选定。 事件映射包含每个事件的宏。 例如,如下所示:激发一个库存单击事件的事件映射:
BEGIN_EVENT_MAP(CMyAxCtrl, COleControl)
EVENT_STOCK_CLICK()
END_EVENT_MAP()
EVENT_STOCK_CLICK 宏表示控件将激发它每次检测到鼠标单击的常用单击事件。 有关其他常用事件更详细的列表,请参见 ActiveX 控件:事件文章。 宏还可用一个自定义事件。
尽管事件映射宏是重要的,您并不直接通常插入它们。 这是因为当你使用消息关联消息处理函数时,属性窗口在源文件自动创建消息映射项。 任何时候你需要编辑或添加消息映射项,可以使用属性窗口。
若要支持事件映射,MFC 提供下面的宏:
映射将声明和事件
声明事件映射在类映射事件向事件触发函数 (必须在类中声明)。 |
|
启动消息映射的定义 (必须在类中实现。) |
|
启动消息映射的定义 (必须在类中实现。) |
事件映射宏
指示事件触发函数将触发指定的事件。 |
|
指示事件触发函数将触发指定的事件,并指定的调度 ID. |
消息映射宏
将 OLE 控件处理的自定义谓词。 |
|
OLE 重写控件的标准谓词映射。 |