1. 前言
首先添加AvtiveX中的MFC,选择ocx控件,vs会自动生成.h和.cpp的类,然后使用这个类创建对象,调用Create方法成功后,就可以调用ocx的方法了。
2. 正题
2.1 准备工作
(1)首先准备一个ATL项目和一个ocx控件,注意本项目基于前文的ATL项目。
基于ATL搭建的ActiveX : https://blog.csdn.net/q893332169/article/details/100018341
(2)添加ocx包装类
(3)查看生成的包装类
(4)准备初始化包装类的实例
(5) 在构造和析构中初始化ocx控件
2.2 调试
(1)先看结果
(2)打断点
3. 结尾
大概写了下ATL控件封装ocx控件的内容,还有一些细节需要注意。比如ocx调用create一定要能获取到父窗口,随便一个窗口即可,但是在其他线程里初始ocx,是获取不到主窗口的。比如包装类只包装了ocx的方法,加入我想要调用属性怎么办?这个时候,只能在包装类中手动添加方法来获取ocx里面的属性。这些细节有空会单独写一篇博客来记录。