ActiveX控件编写
1.ActiveX控件由来
在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络(现在的网络主要包括
Windows和Mac)中任意运行的程序。这个组件就是ActiveX近控件。ActiveX是Microsoft为抗衡Sun
Microsystems的JAVA技术而提出的,此控件的功能和JAVA applet功能类似。
OCX代表"对象链接与嵌入控件"(OLE),这个技术是Microsoft提出的程序技术,用于处理桌面文件的
混合使用。现在COM的概念已经取代OLE的一部分,Microsoft也使用ActiveX控件代表组件对象。
组件的一大优点就是可以被大多数应用程序再使用(这些应用程序称为组件容器)。一个COM组件
(ActiveX控件)可由不同语言的开发工具开发,包括C++和Visual Basic或PowerBuilder,甚至一些技术性
语言如VBScript。
控件即组件,只不过一般包含界面元素,ActiveX是在internet发展起来以后,为了吸引人的眼球,对OLE的一个更名而已,只是名字上
的差别.一般把包含界面元素的组件称作控件.(因为包含界面,所有就比没有界面的组件在底层实现上多一些变化)。简单的说就
是AvtiveX控件是实现了特殊接口的COM组件
2.ActiveX组件包括如下几类:
1.自动化服务器:可以由其他应用程序编程驱动的组件。自动化服务器至少包括一个,也许是多个供其他应
用程序生成和连接的基于IDispatch的接口。自动化服务器 可以含有也可以没有用户界面(UI),这取决于
服务器的特性和功能。
2.自动化控制器:那些使用和操纵自动化服务器的应用程序。
3.控件:ActiveX控件等价于以前的OLE控件或OCX。一个典型的控件包括设计时和运行时的用户界面,唯
一的IDispatch接口定义控件的方法和属性,唯一的 IConnectionPoint接口用于控件可引发的事件。
4.文档:ActiveX文档,即以前所说的DocObject,表示一种不仅仅是简单控件或自动化服务器的对象。
ActiveX文档在结构上是对OLE链接和模型的扩展,并对其所在的容器具有更多控制权。一个最显著的变化
是菜单的显示方式。一个典型的OLE文档的 菜单会与容器菜单合并成一个新的集合,而ActiveX文档将替换
整个菜单系统,只表现出文档的特性而不是文档与容器共同的特性。
5.容器:ActiveX容器是一个可以作为自动化服务器、控件和文档宿主的应用程序
3.什么是COM组件:
COM组件是以WIN32动态链接库(DLL)或可执行文件(EXE)形式发布的可执行代码组成。
COM组件是遵循COM规范编写的
COM组件是一些小的二进制可执行文件
COM组件可以给应用程序、操作系统以及其他组件提供服务
自定义的COM组件可以在运行时刻同其他组件连接起来构成某个应用程序
COM组件可以动态的插入或卸出应用
COM组件必须是动态链接的
COM组件必须隐藏(封装)其内部实现细节
COM组件必须将其实现的语言隐藏
COM组件必须以二进制的形式发布
COM组件必须可以在不妨碍已有用户的情况下被升级
COM组件可以透明的在网络上被重新分配位置
COM组件按照一种标准的方式来宣布它们的存在
想了解更多COM技术请产考:http://blog.donews.com/piaoger/archive/2004/09/21/105204.aspx
4.ActiveX控件有四种属性:
Stock:为每个控件提供的标准属性,如字体或颜色。
Ambient:围绕控件的环境属性——已被置入容器的属性。这些属性不能被修改,但控件可以使用它们调
整自己的属性。
Extended:这些是由容器处理的属性,一般包括大小和在屏幕上的位置。
Custom:由控件开发者添加的属性。
ActiveX控件的后缀名一般是OCX或DLL等,编译完完成后,Activex控件将被自动注册到系统中
ActiveX控件编写主要设计属性、方法、事件三种特性。
VC中对属性和方法的访问是通过函数完成的,事件则通过消息完成
5.容器和服务器程序
容器应用程序是可以嵌入或链接对象的应用程序。Word就是容器应用程序。
服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序。Excel就是服务器应用程序。
Word既是一个容器应用程序,又是一个服务器应用程序。
Active控件可以看成一个极小的服务器应用程序,他不能独立运行,他必须嵌入到容器当中和容器一起运行
ActiveX控件也就是一般所说的OCX控件,它是 ActiveX技术的一部分。ActiveX是微软公司推出的基于组件对象模型COM的技术,包括对Windows 32位应用编程接口(Win32 API)和组件对象模型的一系列扩充和增强,目标是把计算机桌面环境与因特网环境集成起来,同时保护在Windows技术中现有的开发投资。微软的 ActiveX技术根本上就是修改过的OCX技术,使它能够跨越Internet,主要是使用WWW来传递控件。
ActiveX控件可以被集成到很多支持ActiveX的应用当中去,或者直接用来扩展应用的功能,这些支持ActiveX的应用包括C++ Builder、Delphi、Visual dBASE、 Visual Basic、Visual C++、Internet Explorer、Netscape Navigator等。ActiveX控件还可以使用在因特网上,在网页上使用它来发布信息、处理与用户的交互,但是需要使用支持ActiveX的浏览器才能阅读这些网页。目前已经开发出来的ActiveX控件越来越多,由于ActiveX控件具有很好的特性,我们可以在编程的时候选择使用合适的控件来加快自己的应用开发。可以不夸张地说,ActiveX控件是Windows平台编程必不可少的法宝。Delphi作为Windows平台上最优秀的程序开发工具之一,为ActiveX控件的开发提供了强有力的支持,让您轻松地开发ActiveX控件。Delphi的开发者仅仅需要了解一些ActiveX控件的简单知识,就可以使用Delphi提