MFC ActiveX 控件:方法

ActiveX 控件触发事件以在自身与其控件容器之间进行通信。 容器还可以通过方法和属性与控件通信。 方法也称为函数。

方法和属性提供导出的接口供其他应用程序(例如 Azure 自动化客户端和 ActiveX 控件容器)使用。 有关 ActiveX 控件属性的详细信息,请参阅 MFC ActiveX 控件:属性一文。

方法的使用和用途类似于 C++ 类的成员函数。 控件可以实现两种类型的方法:常用和自定义。 与常用事件类似,常用方法是 COleControl 为其提供实现的方法。 有关常用方法的详细信息,请参阅 MFC ActiveX 控件:添加常用方法一文。 开发人员定义的自定义方法允许对控件进行其他自定义。 有关详细信息,请参阅 MFC ActiveX 控件:添加自定义方法一文。

Microsoft 基础类库 (MFC) 实现一种机制,使控件能够支持常用和自定义方法。 第一部分是类 COleControl。 派生自 CWndCOleControl 成员函数支持所有 ActiveX 控件通用的常用方法。 此机制的第二部分是调度映射。 调度映射类似于消息映射;但是,调度映射会将虚拟成员函数映射到 IDispatch IDS,而不是将函数映射到 Windows 消息 ID。

要使控件能够正确支持各种方法,其类必须声明调度映射。 这由位于控件类头文件 (.H) 中的以下代码行完成:

DECLARE_DISPATCH_MAP()

调度映射的主要目的是在外部调用方(比如容器)使用的方法名称与实现这些方法的控件类的成员函数之间建立关系。 声明调度映射后,需要在控件的实现文件 (.CPP) 中定义它。 以下代码行定义调度映射:

BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
END_DISPATCH_MAP()

如果使用 MFC ActiveX 控件向导创建项目,则会自动添加这些行。 如果未使用 MFC ActiveX 控件向导,则必须手动添加这些行。

以下文章详细介绍了方法:

另请参阅

MFC ActiveX 控件