您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 第8章OLE和ActiveX技术.ppt
2020年1月23日星期四制作:黄传禄第8章OLE和ActiveX技术一、OLE技术•1、OLE简介•对象链接与嵌入(OLE)技术是支持Windows应用程序之间相互通讯的一种技术,它通过图象、图表、数据库、声音、文本等构成复合对象(也称复合文档),实现各种应用软件系统之间的复杂的数据交换。使用OLE,一个应用程序可以和其他应用程序协同,产生易于被用户操作的不同复合文档,以及通过拖放交换数据和通过OLE自动化控制其他程序的动作。2020年1月23日星期四制作:黄传禄•采用OLE技术开发的应用程序可以集成其他软件的功能,而不用重复开发相同功能。例如,你可以通过Word、Excel、Mail、MicrosoftGraph等建立起一个包含文字处理、电子报表、电子邮件和统计图形功能的综合性办公自动化系统软件。•VisualBasic在OLE程序开发方面提供可视化界面,开发方便,程序员可以快速编写出功能强大的OLE应用软件。2020年1月23日星期四制作:黄传禄使用OLE控件开发OLE应用程序•在VisualBasic的工具箱右下角,可以找到OLE控件,开发时直接使用该控件就可以开发出OLE应用程序。下面,我们举例说明OLE控件的使用方法:•【例8.1】在VB程序中使用Excel表格。•程序设计步骤如下:•(1)创建工程和窗体Form1;•(2)单击工具箱中的OLE控件,在窗体Form1上拖动鼠标设置控件的大小和位置,释放鼠标后,屏幕出现“插入对象”对话框。2020年1月23日星期四制作:黄传禄(3)在列表框中选中“MicrosoftExcel工作表”,单击“确定”按钮;(4)窗体中显示一个空白的Excel表格,在表格中输入数据。(5)单击窗体的空白区域,完成对象的创建。2020年1月23日星期四制作:黄传禄二、嵌入对象和链接对象的区别在Windows环境下,OLE控制的对象包括两种:嵌入对象和链接象,两者的不同之处在于插入到OLE控件的对象(数据)存放的位置。1、嵌入对象:当嵌入一个对象时,与该嵌入对象相关联的数据存储在OLE自定义控制项中,并可以存入文件、剪切或拷贝至剪贴板,还可以被编辑(通过容器应用程序)。嵌入对象的数据是完全存放在嵌入的应用程序中,在该应用程序中能完全控制数据,而其它软件是不能访问嵌入对象和它的数据,嵌入对象只能由被嵌入应用程序独占。2、链接对象:当链接一个对象时,与这个链接的对象相关联的数据存储在创建该对象的应用程序中。只有该数据的预留位置是存放在OLE自定义控制项中,数据本身并不存放在OLE自定义控制项中。2020年1月23日星期四制作:黄传禄•链接对象则只是把对象中包含的数据的指针(地址)插入到应用程序中去,在该应用程序中可以访问链接对象的数据,但其他软件也可以访问到该对象的数据。•数据作为一个独立的文件存在磁盘上,当创建链接对象时,即将对象和该文件建立了链接,修改数据后该文件的数据也就进行了相应修改。该文件这时并不是由被链接的应用程序所独占,其他任何软件也可以任意访问、修改该文件。•需要说明的是,一个文件可跟几个对象建立链接。也就是说,可能有几个对象同时跟一个文件建立了链接。这几个对象因此带有互连性,一个对象的变化,将会引起其它几个对象的同步性改变,修改数据只需在产生对象的某一个软件中进行,这正是编程人员在很多情况下所希望的。2020年1月23日星期四制作:黄传禄•1、在程序中创建嵌入对象和链接对象的方法:•前面8.1节中我们借助“插入对象对话框”,在应用程序中没有编写任何代码就为OLE控件创建了一个嵌入对象,如果要创建链接对象的话,则只需在图8.1中选择“从文件创建”,并指定链接的文档即可(选择“链接”选项)。•当然,我们也可以编程来创建嵌入或链接对象。通过OLE控件的44个属性、5个方法和14个事件过程,可以实现对OLE对象的自定义控制,下面介绍一些常用的属性:•AutoActivate:设置激活方式:•0——Mannuao:手工激活;•1——GetFocus:获得焦点时被激活;•2——DoubleClick:为缺省值,指双击时被激活;•3——Automatic:自动的。2020年1月23日星期四制作:黄传禄•Class:所包含的对象类型,在属性窗口中双击该属性,就会弹出所有可用的对象类型,可选择一个填入该域。•DisplayType:指出OLE对象是显示对象内容还是只显示图标。•HostName:VisualBasic应用名。•OLETypeAllowed:OLE的对象类型:•0——链接,1——嵌入,2——链接或嵌入。•SizeMode:OLE对象如何改变大小:•0——对象按实际大小显示,如果对象超出控制则被截断;•1——对象所包含的图像适合控制的大小;•2——控制适合对象的大小。•SourceDoc:指定OLE对象要链接的文件名(包括路径)。设置好Class域后,双击该属性,就会弹出一个文件选择对话框供用户选择文件名。2020年1月23日星期四制作:黄传禄•SourceItem:生成链接对象所使用的数据元素,它弹出和上面相同的对话框供用户选择。•Action:指定基本的OLE对象进行何种操作,共有14种设置方式,在设计时是不可用的,只能在程序中使用。Action的14种属性取值如下:•0——创建嵌入(在OLE控制项中插入一个嵌入对象);•1——创建链接(在OLE控制项中插入一个链接对象);•4——拷贝一个对象至剪贴板;•5——从剪贴板粘贴一个对象;•6——从对象应用程序中更新数据;•7——激活一个OLE对象(用于编辑);•9——关闭一个OLE对象;•10——从OLE自定义控制中删除一个对象;•11——SaveToFile:用二进制I/O将对象存入一个文件;•12——ReadFromFile:用二进制I/O读入对象;2020年1月23日星期四制作:黄传禄•14——InsertObjDialog:显示插入对象(InsertObject)对话框;•15——PasteSpecialDlg:显示特殊粘贴(PasteSpecial)对话框;•17——取得动词;•18——按OLE格式保存一个对象。•【例8.2】:在运行时使用一个OLE对象嵌入一个Word文档,可以使用以下代码:•Ole1.Class=Word.Document.8•Ole1.SourceDoc=“c:\a.doc”•Ole1.Action=02020年1月23日星期四制作:黄传禄•【例8.3】在运行时使用一个OLE对象链接一个图片文档,可以使用以下代码:•Ole1.Class=PBrush•Ole1.SourceDoc=c:\windows\arcade.bmp•Ole1.Action=12020年1月23日星期四制作:黄传禄三、ActiveX技术•ActiveX是对OLE控件技术的升级和发展,它依赖于COM(组件对象模型)技术。ActiveX是一个开放的、集成的平台,允许程序开发者、网页(Web)制作者制作可移植的应用程序和用于万维网(WorldWideWeb)的交互式内容。•ActiveX既包含服务器端技术,也包含客户端技术。其主要内容是:•ActiveX控件(ActiveXControl):用于向WEB页面、Windows应用程序等支持ActiveX的容器(Container)中插入COM对象。•ActiveX文档(ActiveXDocument):用于在WEBBrowser或者其它支持ActiveX的容器中浏览复合文档(非HTML文档),例如MicrosoftWord文档,MicrosoftExcel文档或者用户自定义的文档等。2020年1月23日星期四制作:黄传禄•ActiveX脚本描述(ActiveXScripting):用于从客户端或者服务器端操纵ActiveX控制和Java程序,传递数据,协调它们之间的操作。•ActiveX服务器框架(ActiveXServerFramework):提供了一系列针对WEB服务器应用程序设计各个方面的函数及其封装类,诸如服务器过滤器、HTML数据流控制等。2020年1月23日星期四制作:黄传禄四、使用ActiveX控件•VisualBasic提供了一些标准ActiveX控件,我们可以在程序中直接使用。这些ActiveX控件是工具箱的扩充部分,可以通过引用部件方式扩充进工具箱。除此之外,还有很多第三方软件商开发的ActiveX控件,甚至我们自己也可以开发AcitveX控件用在自己或别人的不同应用程序中,这些ActiveX控件都可以扩充进来直接使用。这样,通过ActiveX控件可以大大增加软件的复用性,对提高软件开发工作效率和质量都是有非常大的好处。2020年1月23日星期四制作:黄传禄•要使用某个ActiveX控件,需要首先将该控件添加到控件箱中。方法是选择“工程”菜单下的“部件”命令,打开控件选项卡(如图8.4所示),在控件列表中显示出所有在系统中已经安装的ActiveX控件,包括VisualBasic提供的标准ActiveX控件以及其他第三方开发的ActiveX控件都显示在列表中。在控件列表中选择需要的控件,确定后该控件则扩充进工具箱,在工具箱中就可以找到新添加进来的相应ActiveX控件。2020年1月23日星期四制作:黄传禄•例1:设计一各播放动画的程序(1)设计窗体及添加控件,界面如下:2020年1月23日星期四制作:黄传禄(2)代码编写与演示PrivateSubCommand1_Click()Animation1.PlayEndSubPrivateSubCommand2_Click()Animation1.StopEndSubPrivateSubForm_Load()Animation1.AutoPlay=FalseAnimation1.Open(c:\windows\clock.avi)EndSubPrivateSubForm_Unload(CancelAsInteger)Animation1.CloseEndSub2020年1月23日星期四制作:黄传禄1本章重要学习了OLE和ActiveX程序的开发技术,通过OLE控件实现不同应用程序之间的通讯、数据交换和协同工作2ActiveX则是可以在不同的应用程序之间之间通用的控件,使用ActiveX控件可以实现VB编程能力的扩充本章小结课后习题讲解
本文标题:第8章OLE和ActiveX技术.ppt
链接地址:https://www.777doc.com/doc-3252856 .html