vc6开发activex并发布全攻略(一)(初级篇)(转载)

vc6开发activex并发布全攻略(一)(初级篇)(原创)  

http://flashaway.blog.163.com/blog/static/95624576200942211853685/

 

 最 近空闲时间比较多,自己研究了下ActiveX的技术。前面转载了一篇用c#开发ActiveX的文章,照着做了下,成功了,但毕竟xp的用户比较多,系 统没有自带.netFramework,所以c#开发的ActiveX还不能普及。所以想学下用vc++开发ActiveX控件。由于我现在开发用的是 c#和java语言,对c++还很陌生,所以花了半天看了下c++语法,但收效甚微。凭着自己多年来利用Baidu和Google 的成功经验和自己屡败屡战的意志,终于磕磕绊绊的完成了一个简单的ActiveX,并能通过IE让用户下载安装。

先说下我的开发环境:

开发工具:vc6.0

操作系统:win2003

IE版本:IE7.0

 

做 开发之前,在网上查了下vc开发activeX的资料,得知vc开发ActiveX可选两种框架,一种是ATL COM结构,还有一种是MFC结构。经过筛选,还是选择了MFC结构,因为这种方式开发比较普遍。那开发之前我们得先知道MFC到底是什么,这里我就不多 讲了,去Baidu下,如果你看完以后没有理解,那很正常,因为我也没看懂,呵呵。

理 论没看懂不要紧,但起码你得知道MFC程序是怎么开发的啊,经过Baidu找到一个MFC的例子,很经典,是内地一女程序员写的,写的比较经典,也很详 细,照着她写的例子在VC6.0上写了一遍,收获不小。由于是女的写的,语句也比较女性化,所以我也不方便转载,这里贴出她的blog地址,强烈建议你去 照着做一遍,因为我这篇文章不会讲MFC是什么,怎么实现(其实我到现在也没理解,呵呵):

http://sakura006.blog.hexun.com/31435400_d.html

那下面我们就开始VC开发ActiveX的旅程,不足之处还望高人指点,也请读者海涵:

一.打开vc6.0,新建一个MFC ActiveXControlWizard项目:  

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

 

工程名称随便起,比如我的叫MyActiveX。点击确定,一路默认下一步,完成后生成的文件目录如下:

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

生成的文件包括源文件夹,头文件夹和资源文件夹。还是那句话,想知道这些文件具体都是做什么的,去问下百度,我这里只讲步骤。

二.其实这个工程本身生成的就是一个ActiveX控件,它的功能是在页面上画个圆。那我们现在先查看下效果。直接点击F7,控制台显示编译成功,并生成MyActiveX.ocx文件。 

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

我的这个工程目录是在E:\MyPro下,那生成的MyActiveX.ocx就在E:\MyPro\MyActiveX\Debug下:

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

恩,就是那个万花丛中一行红的那个。

那我们看看运行效果。

点开vc的工具->ActiveX Control Test Container菜单,如果你的VC看不到这个选项,那你可能是安装了精简版:vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

弹出下面这个对话框:

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

然后选择edit->Insert New Control选项弹出下面这个窗口:

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客 

 

 

然后选择edit->Insert New Control选项弹出下面这个窗口:

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

在列表中我们可以看到MyActiveX这个我们刚刚生成的控件。选择OK,看看效果,一个圆:

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

这个工具很好用,我们在activeX中的自定义方法在这个测试容器里测试:

选择Control->InvokeMethods选项:

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

弹出下面的对话框:

vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

选 择方法名,通过parmeter列表还可以设置方法的参数,设置好以后,点击Invoke就可以看到我们自定义方法的效果。如果只返回参数,那返回的结果 就显示在Return文本框里。如果是弹出对话框,那将弹出你设计的对话框。现在方法中只有一个系统默认的弹出软件相关的一个对话框。看看:vc6开发activex并发布全攻略(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

 

三.下面我们就在activex中添加自定义方法。

     这个自定义方法很简单,就是增加一个test(short  a,short b)方法,返回a+b的值。也许某些高手看到这里会笑,这么简单的方法还好意思写啊。呵呵。没关系,毕竟这篇文章只是菜鸟之作,给入门者看的。

  选择左边工程目录的ClassView选择项(下图中红色方框里的),也就是显示类图:.下面我们就在activex中添加自定义方法。

     这个自定义方法很简单,就是增加一个test(short  a,short b)方法,返回a+b的值。也许某些高手看到这里会笑,这么简单的方法还好意思写啊。呵呵。没关系,毕竟这篇文章只是菜鸟之作,给入门者看的。

  选择左边工程目录的ClassView选择项(下图中红色方框里的),也就是显示类图:

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

然后选择菜单查看->建立类向导,弹出对话框:

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

选择上图中automation(自定义)标签页,ClassName选择CMyActivexCtr类,因为我们自定义的方法一般都是在Ctrl这个类文件中实现的。选择Add Method按钮,弹出对话框:

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

在External name填入我们的方法名。比如我的这个方法叫做test,有两个参数a和b,如下图:

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

点击确定:

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

继续确定,看看工程类列表有什么变化:

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

恩,多了两项:一个test的接口和一个test的实现类。

双击test实现类,也就是上面图中的第二个红框类,找到

short CMyActiveXCtrl::test(short a, short b)

{

       // TODO: Add your dispatch handler code here

       return 0;

}

方法,将它改为

short CMyActiveXCtrl::test(short a, short b)

{

       // TODO: Add your dispatch handler code here

       return a+b;

}

呵呵,只是将return 0该成了return a+b;

直接F7,

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

显示编译成功。

那现在再打开vc的工具->ActiveX Control Test Container菜单(参照前面的图)。选择MyActivex控件,然后再选择Control->InvokeMethods选项:

看看,在MethodName中多了一个test方法,而且有两个参数a,b

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

通过SetValue给a与b赋值。点击invoke在Return中就会显示结果,2+4=6:

vc6开发activex并发布全攻略(一)(初级篇)(原创) - 一闪而过 - 一闪而过的博客

 

那我们这个Activex就算做好了,在E:\MyPro\MyActiveX\Debug目录下的MyActiveX.ocx就是我们的成品。下面就进行发布工作。

在网上找了很多资料,费了很大劲才找到一个适合我们菜鸟级学习的博文。那我在下一篇中转载并做补充。因为在发布过程中出现了很多莫名奇妙的问题。这一篇只是我们漫长旅程的开始。

   未完待续………………..

转载于:https://www.cnblogs.com/vc60er/archive/2013/01/07/2849004.html

ActiveX自学编程21天 Teach Yourself ActiveX in 21 Days 立即下载

相关推荐

ActiveX控件 编程实例

本例是我学习ActiveX控件时编写的个小例子,希望能对您有用,以前没少下东西,拿出来分享下,算作回报。

ActiveX开发详解

配套源码:http://download.csdn.net/detail/mingojiang/4743623 转载请注明出自:http://blog.csdn.net/MingoJiang ActiveX基础 1.1什么是ActiveX ActiveX是COM规范的种实现,前身是OLE(Object Linking and Embedding)般读成:ActiveX Ctr...

Chinamming的专栏 708

ActiveX自学编程21天.rar

ActiveX自学编程21天.rar ActiveX自学编程21天.rar ActiveX自学编程21天.rar

第18课 ActiveX 编程(下面 X均为ActiveX简称)

ActiveX控件不能独立运行,必须嵌入到某个容器程序中,与该容器起运行。 ActiveX有方法,属性和事件三种特性。 在ActiveX控件的窗口类中提供了 消息映射 调度映射和事件映射。 调度映射是MFC提供的种映射机制,主要是为了让外部程序可以方便的访问空间的属性和方法。 事件映射也是MFC提供的种映射机制,让控件可以向包含它的容器发送事件通知。 接

zhang_zxk的博客 410

编写ActiveX控件

(1)是从MFC提供的控件类派生个新类,通过合理地设计派生类,可以修改控件的行为和属性以达到用户的要求,但此类控件使用范围很小。                (2)二是编写ActiveX控件,以后可以在不同的应用程序中重复使用。              1、创建ActiveX控件框架:                  (1)创建ActiveX控件工程

dsg333的专栏 2359

vc6开发activex发布全攻略()初级)(转载

vc6开发activex发布全攻略()初级) http://flashaway.blog.163.com/blog/static/95624576200942202812353/ 上中我们做好了activeX。现在我们就来发布。 下面转载发布activeX的博文,在后面我会对出现的问题做补充,原文地址 http://bl...

afdd28617的博客 151

vc6开发activex发布全攻略()(进阶(转载)

vc6开发activex发布全攻略()(进阶) http://flashaway.blog.163.com/blog/static/95624576200942411404477/ 前 面两片文章我们制作了个简单的 ActiveX,而这个ActiveX只实现了个简单的计算功能。其实ActiveX控件的功能很好很强大,只要你能想到的...

afdd28617的博客 148

vc6开发ActiveX发布全攻略()()

C#开发ActiveX因需要装FrameWork等原因,用起来很不方便。所以想学下用VC++开发ActiveX控件。通过多天的Baidu&Google,终于找到个简单的ActiveX,能通过IE让用户下载安装。 先说下我的开发环境: 开发工具:vc6.0 操作系统:win2003 IE版本:IE7.0 做开发之前,在网上查了下vc开发activeX的资...

aiman5818的博客 237

vc6开发activex发布全攻略()(进阶

 前面两片文章我们制作了个简单的ActiveX,而这个ActiveX只实现了个简单的计算功能。其实ActiveX控件的功能很好很强大,只要你能想到的,它基本都能够实现。可我现在的水平那也只能想到而做不到 >_下面是我转载个例子,实现的功能是将网页保存到本地。照旧,我会在后面列出我制作时出现的问题及解决方案。原文地址:http://www.7880.com/info/20

四月的专栏 1054

vc6开发activex发布全攻略()初级

原文地址 vc6开发activex发布全攻略()初级) 2009-05-22 11:08:53|  分类: vc技术 |字号 订阅  最近空闲时间比较多,自己研究了下ActiveX的技术。前面转载c#开发ActiveX的文章,照着做了下,成功了,但毕竟xp的用户比较多,系统没有自带.netFramework,所以c#开发的Active

feizhijiang的专栏 738

vc6开发activex发布全攻略()初级

原文地址 上中我们做好了activeX。现在我们就来发布。 下面转载发布activeX的博文,在后面我会对出现的问题做补充,原文地址 http://blog.csdn.net/zougangx/archive/2008/07/30/2738147.aspx   [背景]        做过ActiveX控件的朋友都知道,要想把自己做的A

feizhijiang的专栏 846

vc6开发activex发布全攻略()初级(原创)

转载来自:http://flashaway.blog.163.com/blog/static/95624576200942211853685/ 龙卷风计算机毕业设计网欢迎你,为您量身定制毕业设计.网址:http://www.ljfbs.com/index.html  最近空闲时间比较多,自己研究了下ActiveX的技术。前面转载c#开发ActiveX的文章,照着做了下,

qq5132834的专栏 601

vc6<实用>开发activex发布全攻略()初级

[背景]        做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用,那么用户在客户端就必须进行本地的注册,也就是说用户得首先要把该ActiveX控件(test.ocx)放在本机的%system%/system32下,然后运行DOS工具里面运行regsvr32 test.ocx命令进行注册。但如果真是这么去做的话,那么代表着你处于危险之中了,因为您

第7章 2904
上一篇: (转)createProcess时不显示或者不创建窗口
下一篇: vc6开发activex并发布全攻略(二)(初级篇)(转载)
afdd28617
博客等级 码龄12年 0粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值