admin管理员组文章数量:1530517
2024年7月3日发(作者:)
Activex技术
组件对象模型(Component Object Model ,COM)是Microsoft的ActiveX技术的
基础。
C++来写ActiveX控件,有两个流行的框架,一个是Microsoft Foundation Classes
(MFC),另一个是ATL。
使用MFC来构建ActiveX控件
COleControl 从CWnd派生得到,也是一个窗口类,
CClockCtrl 相当于单文档程序的主窗口类。
这个类包含重绘用的OnDraw函数,也包含了一些消息映射,包括调度映射。
Dispatch maps调度映射,主要是MFC提供让外部应用程序可以访问控件的属性和
方法。
Event maps事件映射,控件向包含它的容器发送事件通知。
CClockPropPage 类由 COlePropertyPage 派生而来:
被用来显示一个自定义控件的属性,类似于一个对话框。
它是对话框类,于是 enum { IDD = IDD_PROPPAGE_CLOCK }给它关联了一个对话
框资源。
在工程中,还有两个全局函数:
STDAPI DllRegisterServer(void)
将控件信息写入注册表中
STDAPI DllUnregisterServer(void)
卸载注册信息。
在三个类之上,还有类似小勺的图标Dclock,_DClockEvents,它们表示接口。
接口是外部程序和控件进行通信的协议,可以把接口看作是函数的集合,
外部程序通过接口提供的方法,去访问控件的属性和方法。
也可以将接口看作抽象基类,接口中所定义的所有函数都是纯虚函数,
这些函数的实现都是在CClockCtrl类中实现,
MFC通过底层的封装使CClockCtrl类继承Dclock接口。
所以调用接口,事实上调用的是CClockCtrl类中的函数。
版权声明:本文标题:Activex技术 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1719967730a812977.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论