事件映射

每当控件需要通知其容器某个操作 (取决于控件开发人员) 发生 (如某个键击、鼠标单击或更改控件状态) 调用事件激发功能。 此功能通知控件容器某些关键操作通过激发相关事件发生。

Microsoft 基础类 (mfc) 库提供激发的事件优化的编程模型。 在此模型中, “功能会激发特定控件的事件映射”用于指定。 事件映射包含每个事件的宏。 例如,激发一个库存 click 事件的事件映射可能如下所示:

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

EVENT_STOCK_CLICK 宏指示该控件会激发每次检测鼠标单击的值为 " 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宏和Globals