MFC制作OCX

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

原文地址:https://www.cnblogs.com/judes/p/9282768.html