1、新建工程
注意选择显示时注册,免得后面又去手动注册
2、工程解释,一般ocx是看类视图而不是解决方案
①、xxxApp:类似整个工程的入口,有xxxApp.h和xxxApp.cpp,工程的初始化,注册反注册,一般不用管
②、xxxCtrl:核心代码处,属性、方法、函数的声明及实现
③、xxxPropPage:ocx的属性,类似于Button的属性
④、xxxLib:这个ocx的lib,添加外部调用的属性和方法都在这里添加
⑤、在_xxxOCX中双击下面的方法,会进入xxx.idl文件:这个文件是提供给外部接口的文件,如下图MFC自己给的定义:
这里面可以看到定义的方法;还可以改版本
3、添加属性、方法、函数
①、属性,在Lib中的_xxxOCX中右键添加属性,属性是这个ocx的某些状态体现
②、方法,在Lib中的_xxxOCX中右键添加方法,方法是提供给外界使用的方法
③、函数,函数是内部调用的一些算法,手动在xxxCtrl.h和xxxCtrl.cpp中声明和定义
4、生成如果注册成功,即可使用。在任意.NET framework里可以找到这个COM组件
ps:
1、ocx的属性和方法默认都是protected的,说明只能由ocx自己和子类访问
2、默认的ocx界面是一个椭圆,这在xxxCtrl.cpp的OnDraw中默认定义的,如果需要改变外形可以在这里更改代码
3、返回值或者参数全是基本数据类型,如果需要是自定义结构体需要转换,具体怎么转,目前还不清楚
转换:https://blog.csdn.net/xumaojun/article/details/39024871
ocx入门:https://blog.csdn.net/wangkui1331/article/details/53763990