- vs2017开发ActiveX(主讲OCX)(七)、方法
- vs2017开发ActiveX(主讲OCX)(五)、事件
- vs2017开发ActiveX(主讲OCX)(一)、前言
- vs2017开发ActiveX(主讲OCX)(八)、添加常用方法
- vs2017开发ActiveX(主讲OCX)(二)、新建项目
- vs2017开发ActiveX(主讲OCX)(三)、MFC Ac
- vs2017开发ActiveX(主讲OCX)(四)、绘制Acti
- vs2017开发ActiveX(主讲OCX)(十)、手动添加自定
- vs2017开发ActiveX(主讲OCX)(十一)、类向导中M
- vs2017开发ActiveX(主讲OCX)(六)、添加自定义事
方法
ActiveX控件触发事件以在其自身与其控件容器之间进行通信。容器还可以通过方法和属性与控件通信。方法也称为函数。
方法和属性提供导出的接口,供其他应用程序使用,例如自动化客户端和ActiveX控件容器。有关ActiveX控件属性的详细信息,请参阅文章MFC ActiveX控件:属性。
方法在使用和目的上类似于C ++类的成员函数。您的控件可以实现两种类型的方法:常用和自定义。与常用事件类似,常用方法是COleControl为其提供实现的方法。有关常用方法的详细信息,请参阅文章MFC ActiveX控件:添加常用方法。由开发人员定义的自定义方法允许对控件进行额外的自定义。有关更多信息,请参阅文章MFC ActiveX控件:添加自定义方法。
Microsoft基础类库(MFC)实现了一种机制,允许您的控件支持常用和自定义方法。第一部分是COleControl类。 COleControl成员函数派生自CWnd,支持所有ActiveX控件通用的常用方法。该机制的第二部分是调度映射。调度映射类似于消息映射;但是,调度映射不是将函数映射到Windows消息ID,而是将虚拟成员函数映射到IDispatch IDS。
对于正确支持各种方法的控件,其类必须声明一个调度映射。这是通过位于控件类头(.H)文件中的以下代码行来完成的:
DECLARE_DISPATCH_MAP()
调度映射的主要目的是建立外部调用者(如容器)使用的方法名称与实现这些方法的控件类的成员函数之间的关系。 在声明了调度映射之后,需要在控件的实现(.CPP)文件中定义它。 以下代码行定义了调度映射:
BEGIN_DISPATCH_MAP(CCreateOcxDemoCtrl, COleControl)
END_DISPATCH_MAP()
如果您使用MFC ActiveX控件向导来创建项目,则会自动添加这些行。 如果未使用MFC ActiveX控件向导,则必须手动添加这些行。
以下文章详细讨论了方法:
MFC ActiveX控件:添加常用方法
MFC ActiveX控件:添加自定义方法
MFC ActiveX控件:从方法返回错误代码
网友评论