- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC++编写ActiveX控件
ActiveX这门技术是通过生成“*.ocx”文件来实现的。先来了解下OCX文件,在百度
百科上面对OCX是这样解释的:
“.ocx是ocx控件的扩展名,OCX 是对象类别扩充组件。如果你用过Visual Basic 或
者Delphi一类的可视化编程工具,那么对控件这个概念一定不会陌生,就是那些工具条上
的小按钮,如EditBox,Grid,ImageBox,Timer等等。每个控件都有自己的事件、方
法和属性。使用了控件的编程非常容易。首先,在程序的设计阶段可以设置一些属性,如大
小,位置,标题(caption)等等;在程序运行阶段,可以更改这些属性,还可以针对不同的
事件,调用不同的方法来实现对该控件的控制。控件就好像一块块的积木,程序要做的事只
是将这些积木搭起来。控件的最大好处是可以重复使用,甚至可以在不同的编程语言之间使
用,例如你可以在VB中嵌入用VC开发的控件。”
里面最后一句话比较重要,就是用VC开发的OCX控件,你可以在其它语言里面都能
调用,这样很好的实现了功能化组件的良好循环使用,而且还可以实现跨语言地调用(例如,
你完全可以用C#调用C++开发的OCX控件)。
下面开始介绍,如何用VC++一步步生成你想要的“*.ocx”文件。
1. ocx
1. ocx
11.. 建立最简单的ooccxx文件并进行调试
1.1 ocx
1.1 ocx
11..11 建立最简单的ooccxx文件
VC-新建项目-MFC ActiveX WinZard
直接编译一下,然后在Debug目录下面就会生成一个名为“ocxDemo.ocx”的控件注册
文件,然后利用“regsvr32”命令就可以实现本机对此控件的注册,然后就可以使用本语言
或者跨语言编写程序时引用此控件来实现相应的功能(后面将会讲到)。
1.2ocx
1.2ocx
11..22ooccxx调试方法:
VC++自带有一个调试控件的工具“ActiveX控件测试容器”,通过三种方式可以打开:
1.点击“调试”按钮,会出现如下对话框:
然后浏览C:\Program Files\Microsoft Visual Studio\Common\Tools\TSTCO
N32.EXE“
2. 系统的“开始“-》“程序”-》“Microsoft Visual C++ 6.0”-》“Microsoft Visual
C++ 6.0 Tools”-》“Active Control Test Container”
3. VC++开发环境中的“工具”-》“ActiveX Control Test Container”
通过上面的任意一种方法,都可以调出下面的程序:
右击空白区域,插入控件,然后会弹出下面的对话框:
选中指定控件,然后点击确定,控件就被加载到此工具中了,然后可以通过这个工具来
看此控件的相关事件响应等等。
2. VC++
2. VC++
22..自VVCC++++生成的模板基础上自定义功能
(“快捷键Ctrl+W”或者“查看”-“建立类向导…”)
在“Automation”选项卡中为控件添加方法和属性。
在“ActiveX Events”选项卡中为控件添加事件。
2.1
2.1
22..11 添加控件属性
切换到“Automation”选项卡中,点击右边的“Add Property…”会弹出对话框:
External name
Type:属性类型。除了基本的整形等数据类型外,还有很多复杂的高级数据类型。
Variable name:变量名称。此属性在控件源文件中的变量名称,在编写控件源码时使用。
Notification function:提醒函数。当此属性被改变时,会触发此提醒函数。
Implementation:实现方式。指属性的三种类型:固有型,成员变量型,Get/Set方法
型。固有型是指系统赋予的固有属性,如背景色,标题;成员变量型是用户自定义的属性;
Get/Set方法型,可能是指只能通过Get/Set方法才能获取和改变的变量吧(这个没研究)。
2.2
2.2
22..22 添加控件方法
在“Automation”选项卡中,点击右边的“Add Method…”会弹出对话框:
External name:方法外部名称。
In
文档评论(0)