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
MFC制作OCX的更多相关文章
- c#调用c++制作的基于mfc的ocx控件
原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/51286926 原文中有问题部分已修改. c#调用c++制作的基于mfc的ocx控件 ...
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网 ...
- mfc制作ActiveX
转:https://blog.csdn.net/hkcsdn/article/details/52908748 前言 ActiveX是Microsoft对于一系列策略性面向对象程序技术和工 ...
- MFC制作简单通讯录程序
学习c++和MFC一段时间了,苦于没有项目实战,所以自己写了一个简单的简单通讯录程序,以前用c#写简单很多,例程是这本书上的实例,我的第一个winform程序也是从这本书上学的,总结c#写的话更简单, ...
- C#调用托管ocx、dll
前篇文章是调用非托管,比较复杂,这里是调用托管,很简单[所以在遇到非托管dll时可以通过二次封装成托管的方式,再通过这边文章来使用] 1.注意这是基于COM的ocx或者dll,所以用regsvr32先 ...
- MFC中开发ocx控件,html容器收不到ocx的事件Event
问题背景: MFC开发ocx控件,主窗口就是ctrl类,主窗口类中调度接口和事件映射添加,执行OK,外部html容器中接收事件成功,如下: ctrl.h中声明事件映射函数 void EVTPENSIG ...
- 基于MFC的Media Player播放器的制作(1---播放器界面的布局)
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 通过上面的一些预备知识,我们现在就可以自己来制作基于MFC的播放器了,接下来我们讲的是使用MFC制作我们播放器 的界面. 首先,我们我们打 ...
- JAVASCRIPT 调用 OCX 的那些坑
这个东西我之前已经想写了,但是在我写完"制作OCX","MFC应用OCX" 之后,html 调用OCX 就一直不成功,搞了好久,都快要放弃了.昨天领导需要我这边 ...
- 最全的基于MFC的ActiveX控件开发教程
浏览器插件之ActiveX开发(一) 一般的Web应用对于浏览器插件能不使用的建议尽量不使用,因为其涉及到安全问题以及影响用户安装(或自动下载注册安装)体验问题.在有特殊需求(如涉及数据安全的金融业务 ...
随机推荐
- maven国内稳定的阿里源
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexu ...
- webpack笔记二——entry
entry是输入目录文件,有三种形式 1.对象键值对形式 entry: { main: './src/script/main.js', b: './src/script/b.js' }, 注意的是输出 ...
- xpath教程 2 - lxml库
xpath教程 2 - lxml库 这些就是XPath的语法内容,在运用到Python抓取时要先转换为xml. lxml库 lxml 是 一个HTML/XML的解析器,主要的功能是如何解析和提取 HT ...
- dedecms如何快速删除跳转的文章(记得清空内容回收站)
网站内容更新多了,有些页面修改了,这时其他相关页面也要做相应的调整,不然可能会出现404错误,那么dedecms如何快速删除跳转的文章呢?下面就随ytkah一起操作一下吧 如上图所示,在“核心”(标示 ...
- android studio 布局
1) 可见(visible)XML文件:Android:visibility="visible"Java代码:view.setVisibility(View.VISIBLE); 2 ...
- 使用PHP创建一个REST API(译)
最近API在网络领域有些风靡,明确的说是REST的影响力.这实在没什么好惊讶的,因为在任何编程语言中,消费REST API都是非常的容易.构建它也非常的简单,因为本质上你不会用到任何那些已存在很久的H ...
- tomcat访问
1:html页面或者需要访问的对象需要放置到webapps/ROOT下面既可以 http://localhost:8080/直接访问 2:
- ListView列宽自适应,设置ListView.Column[0].Width := -1;
使用TListView列表显示内容,如果列内容过长,就会显示成‘XXX…’形式,此时如果双击列标题,列宽将变为自适应.用代码设置如下: 1.设置ListView.Column[0].Width := ...
- Javascript-闰年javascript的判断
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- cmd 笔记(随时补充)
被一篇破解WIFI的标题文骗到了,所以学习一下CMD的命令 1 查看已经连接的wifi和密码 netsh wlan show profiles 回车 netsh wlan show profiles ...