事件映射

每当控件需要通知其容器某些操作 (由控件开发) 发生 (如鼠标单击或按键、更改控制到状态) 将调用事件触发函数。 该函数通知控件容器某些重要操作通过激发相关事件发生。

Microsoft 基础类 (MFC) 库提供优化激发的事件的编程模型。 在此模型中,在特定函数“控件的事件的事件映射”使用选定。 事件映射包含每个事件的宏。 例如,如下所示:激发一个库存单击事件的事件映射:

BEGIN_EVENT_MAP(CMyAxCtrl, COleControl)
   EVENT_STOCK_CLICK()
END_EVENT_MAP()

EVENT_STOCK_CLICK 宏表示控件将激发它每次检测到鼠标单击的常用单击事件。 有关其他常用事件更详细的列表,请参见 ActiveX 控件:事件文章。 宏还可用一个自定义事件。

尽管事件映射宏是重要的,您并不直接通常插入它们。 这是因为当你使用消息关联消息处理函数时,属性窗口在源文件自动创建消息映射项。 任何时候你需要编辑或添加消息映射项,可以使用属性窗口。

若要支持事件映射,MFC 提供下面的宏:

映射将声明和事件

DECLARE_EVENT_MAP

声明事件映射在类映射事件向事件触发函数 (必须在类中声明)。

BEGIN_EVENT_MAP

启动消息映射的定义 (必须在类中实现。)

END_EVENT_MAP

启动消息映射的定义 (必须在类中实现。)

事件映射宏

EVENT_CUSTOM

指示事件触发函数将触发指定的事件。

EVENT_CUSTOM_ID

指示事件触发函数将触发指定的事件,并指定的调度 ID.

消息映射宏

ON_OLEVERB

将 OLE 控件处理的自定义谓词。

ON_STDOLEVERB

OLE 重写控件的标准谓词映射。

请参见

概念

MFC 宏和全局函数