OLE(对象连接与嵌入)

上传人:hy****d 文档编号:243009920 上传时间:2024-09-13 格式:PPTX 页数:24 大小:152.42KB
返回 下载 相关 举报
OLE(对象连接与嵌入)_第1页
第1页 / 共24页
OLE(对象连接与嵌入)_第2页
第2页 / 共24页
OLE(对象连接与嵌入)_第3页
第3页 / 共24页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2014/12/26,#,OLE,OLE,1,OLE,概述,OLE,控件通常用来创建以文档处理为中心的应用程序,在这种应用程序中,你把不同应用程序的数据组合起来,创建单个文档。这种类型的应用程序可能是字处理器,允许用户输入文本之后再嵌入一个工作表或图表。,2,链接的对象,链接一个对象时,实际上是在应用程序中插入链接对象的占位符。例如,当把电子表格单元的范围与,Visual Basic,应用程序链接时,与这个单元相关的数据是存储在另一文件中的;在,OLE,控件中,只存储数据的链接和代表数据链接的图像。运行时,可以激活链接对象,电子表格应用程序便自动启动,然后你可以使用电子表格应用程序来编辑那些电子表格单元。当编辑一个链接对象时,编辑操作是在,OLE,控件外的单独窗口中完成的。,当对象与,Visual Basic,应用程序链接时,可以从数据链接的应用程序中查看对象的当前数据。数据只存在于提供对象的应用程序。,3,嵌入的对象,使用,OLE,控件,或把一个对象的类加入工具箱,可以创建嵌入对象。使用嵌入的对象,与对象相关的全部数据都将被复制和纳入,OLE,控件,把控件的内容存入文件时,这个文件含有创建对象的应用程序名称,对象数据和对象的源文件包含的图像。由于这个原因,嵌入对象可能会大大增加文件的大小。,与链接对象不同,其它应用程序不能访问嵌入对象中的数据。当想要应用程序保持在另一应用程序中创建和编辑的数据时,嵌入是有效的手段。对于嵌入的对象,当你激活对象时,创建这个对象的,Active X,部件被容器应用程序调用,这个对象的数据被打开和编辑。另外,还在容器应用程序中显示创建这个对象的应用程序的用户界面和功能区,使用户能现场控制对象。,4,设计时用,OLE,控件插入对象,把,OLE,控件拖到窗体上,弹出,【,插入对象,】,对话框,单击,【,从文件中创建,】,单选框,单击,【,浏览,】,按钮,弹出,【,浏览,】,对话框,选择想要插入的文件,单击,【,插入,】,按钮,返回,【,插入对象,】,对话框,在,【,插入对象,】,对话框中,单击,【,确定,】,按钮,创建嵌入对象。,嵌入对象的数据是有可能被更改的。如果让用户输入的更改在下次应用程序运行时出现,就必须使用,Save To File,方法来保存数据。,5,运行时用,OLE,控件创建对象,要在运行时创建链接和嵌入对象,需要在代码中使用,OLE,控件的方法和属性。,通过使用,OLE,对象的,Object,属性,可以使用链接或嵌入对象的属性和方法。,Object,属性时运行时只读属性,保持对,OLE,控件的对象的引用,使用这个属性执行,OLE,控件的自动化任务,以及程序化操作对象支持的属性和方法。,可以使用,OLE,控件的,Create Link,方法,先运行时从文件中创建一个链接对象,这种方法需要源文件的参数,还有一个可选的源数据的参数,提供可链接的数据。,要在运行中创建一个嵌入的对象,可以使用,Create Embed,方法。这种方法有源文件和类型两个参数,但也可以不设置源文件和类型的属性。,使用,Do Verb,的方法。,Do Verb,方法的动词依照应用程序而定,可以创建一个空的嵌入对象。,为了把,OLE,控件与存储在数据库引擎或,Access 2007,数据库中的数据绑定,需要在,Data Source,属性中规定数据源,并在,OLE,控件的,Data Field,属性中规定来自数据源的字段的名称。,6,运行时允许用户规定对象,用,OLE,控件的,Insert OBJ DLG,方法显示,【,插入对象,】,对话框,或者用,Paste Special DLG,方法显示,【,选择性粘贴,】,对话框,让你决定什么对象进入,OLE,容器控件。,7,决定在,OLE,容器控件中如何显示对象,可以用,OLE,容器控件的,Display Type,属性标识对象是否将作为图标出现,或者对象的数据是否被显示在控件中,这个属性还决定了在运行时和设计时,显示,【,插入对象,】,和,【,选择性粘贴,】,对话框时,,【,显示为图标,】,复选框的默认设置。,如果这个控件不是用户界面正在使用的,可以用,Size Mode,属性确定对象的图标或数据的图像在,OLE,控件中是如何显示的。在,Size Mode,设置为,0,或,3,,会剪切图像以适合控件,但不改变图像的实际尺寸,设置,Size Mode,为,2,,将调整控件的大小以适合图像。,8,激活,OLE,控件中的对象,在运行时,,OLE,控件的,Do Verb,方法可以激活一个对象。可以设置,App Is Running,为,True,,启动,ActiveX,部件,从而使对象更快地激活。,有些嵌入的对象可以从,OLE,控件内部激活,叫做现场激活,因为你可以与提供对象的应用程序交互,而不切换到其它应用程序或窗口。当,OLE,控件的,Auto Active,属性设置为,Double-Click,时,用户可以用双击来激活控件。,9,响应移动容器或调整容器大小,OLE,控件具有,Object Move,事件,当移动与,OLE,控件相关的对象以及调整其大小时,将会触发它。,Object Move,的参数代表对象容器内对象的坐标。如果对象移出窗体,参数的值代表与窗体左上角的相对位置。这些值可正可负。如果,Active X,部件的宽和高被改变,会通知,OLE,控件。,Object Move,事件是,OLE,控件确定对象是否已经移动或调整大小的唯一方法。,10,保存和检索嵌入的数据,与嵌入的对象相关的数据不是永久保存的,含有,OLE,控件的窗体被关闭时,与这个控件相关的数据的任何变化将丢失。要把更改的数据从对象保存到文件中,需要使用,OLE,控件的,Save To File,方法,这时对象的数据由,OLE,控件维护,并能用,Visual Basic,应用程序保存。,OLE,控件中的对象只能保存于打开的二进制文件中。,要想数据从对象保存到文件中,可打开二进制文件,使用,Save To File,方法。,要想数据从文件读入,OLE,容器控件,可以打开二进制文件,使用对象的,Read From File,方法。,当对象的内容被改变,将调用,Updated,事件,这个事件用于决定对象的数据在最后一次保存时是否被更改。为此,在,Updated,事件中设一个全局的变量,指示需要保存的对象。保存对象时,重新设置这个变量。,OLE,控件大大增强了,Visual Basic,处理数据的能力,在使用,OLE,容器控件时,需要创建、激活,OLE,控件的对象,最后要注意保存对象中的数据。,11,和,OLE,拖放相关的属性、事件和方法,为了判断其它,Active X,控件是否支持,OLE,拖放,应该在,Visual Basic,中加载控件,并检查,OLE Drag Mode,和,OLE Drop Mode,属性,或者,OLE Drag,方法是否存在。窗体、文档对象、用户控件和属性页都有,OLE Drag Mode,属性,而且只支持手工拖放。,12,启动自动,OLE,拖放,若控件支持自动拖放,则可把它的,OLE Drag Mode,和,OLE Drop Mode,属性中至少一个设置为,Automatic,,从而对,Visual Basic,控件向外拖动数据或向内放置数据。,把文本从文本框控件拖动到,Word 2007,文档时,文档被移动到文档。如果放文本的同时按控制键,则数据被复制到文档。对所有支持,OLE,拖放的对象或应用程序,这都是一个默认属性。要改变这种状态,需要使用手工拖放技术修改自动性能。,为使文本框控件在,OLE,拖放操作中自动获得数据,应把它的,OLE Drop Mode,属性设置为,Automatic,。,运行时,除非在拖动时按下了控制键,否则,对于从其它应用程序拖动到文本框控件的数据,进行的是移动而不是复制操作。,自动拖放操作也有其局限性,其中某些来自控件功能本身。,Word 2007,文档中的文本拖动到文本框控件,则,Word 2007,文档里的文本格式就会消失。因为文本框控件不支持这种格式。,13,OLE,拖放的,Data Object,对象,在,Visual,Basic,里,数据的媒介或存储是,Data Object,对象,这意味着通过它把数据从源移动到目标。为此,,Data Object,对象提供了为存储、获取与分析数据所需的方法。,把这些方法与,OLE,拖放事件结合使用就可以管理源端和目标端的,Data Object,对象里的数据。,14,OLE,拖放的工作原理,在对,Visual Basic,应用程序进行,OLE,拖放的操作过程中,当你选定数据并按下鼠标左键,从,OLE,拖动源拖动数据时,触发,OLE Start Drag,事件,然后就可存储数据,也可以指定源所支持的格式。还需指明,源允许复制数据还是允许移动数据。,在拖动数据经过目标应用程序时,触发,OLE Drag Over,事件,源位于目标应用程序的边界内。在这里放下数据,可以指定目标程序要执行的操作。,在这里放下源,则目标指定所产生的拖放效果,这时触发一个,OLE Give Feedback,事件,向用户提供视觉反馈,鼠标指针发生变化,指示操作的类型。,按住鼠标左键时按下了上档键、控制键或换档键,或源数据在目标应用程序边界内移动时,数据可能被拒绝,而不是被复制或移动。如果移动时超出目标应用程序的边界,或按取消键,则可能会取消或修改拖动操作,鼠标指针会变成禁止形。,当把源数据放到目标应用程序时把触发目标应用程序的,OLE Drag Drop,事件,目标应用程序就源数据所包含的数据的格式查询源,然后获取数据或拒绝数据。,如果在拖动开始时就已存储数据,则目标应用程序将使用,Get Data,方法获取数据,如果在拖动开始时未存储数据,则通过触发,OLE Set Data,事件并使用,Set Data,方法获取数据。,在接受数据或拒绝数据时将触发,OLE Complete Drag,事件,然后源将执行相应操作。如果接受数据并指定一个移动,则源把删除数据。,15,OLE Drag,方法,在选定数据后,按住鼠标左键并移动鼠标时,从对象的鼠标移动事件调用,OLE Drag,方法。,OLE Drag,方法没有任何参数,其主要目的是启动手工拖动,然后允许,OLE Start Drag,事件设置拖动操作的条件。,如果源控件支持,OLE Drag Mode,属性,这个属性必须设置为手工,调用,OLE Drag,方法。,16,指定拖放效果和数据格式,在手工,OLE,拖动操作中,当你开始拖动操作中,当你开始拖动源并调用,OLE Drag,方法时,控件的,OLE Start Drag,事件将会发生。可以用这个事件指定拖放效果和源所支持的数据格式。,OLE Start Drag,事件用两个参数指定支持的数据格式,以及放下数据时指定是复制数据还是移动数据。,Allowed effects,参数指定拖动源所支持的拖放效果。然后,目标可向拖动源查询这个信息并作相应的响应。,Allowed effects,参数使用下述数值指定放下效果。,可以通过设置,OLE Start Drag,事件的,Format,参数指定对象支持的数据格式。为此应该使用,Set Data,方法。,目标可查阅源,从而可以判断支持何种数据格式并作出相应的响应,如果目标不支持所放下数据的格式,它就会继续放下数据。,17,把数据放到,Data Object,对象中,在多数情况下,特别是在源支持两种以上的格式或花费大量时间创建数据时,可能会希望只在目标请求数据时,才把数据放入,Data Object,对象。在开始拖动操作时,可以使用,OLE Start Drag,事件中的,Set Data,方法把数据放入,Data Object,对象。,用,Clear,方法清除,Data Object,对象中的默认数据格式,并指定所选定数据的数据格式,然后又用,Set Data,方法把数据放入,Data Object,对象。,18,OLE Drag Over,事件状态参数,根据位置的不同,效果参数可能会相应变化,指示当前可接受的拖放效果。,有了,OLE Drag Over,事件中的状态参数,就可对数据进入、经过以及离开目标控件等状态作出响应。源数据进入目标控件时,把状态参数设置为零,在目标边界内移动拖动源时,把状态参数设置为,2,。有时希望根据鼠标指针的位置的不同改变拖动效果。每秒都会几次生成,OLE Drag Over,事件,即使在鼠标不动时也不例外。,19,效果参数,如果希望改变,OLE,拖放操作中默认的鼠标外观,可以在目标端操作,Drag Over,事件,并在源端操作,OLE Give Feedback,事件。,在拖放操作期间,,OLE,拖放提供自动视觉反馈。开始拖动时,鼠标指针会发生变化,当经过不支持,OLE,放下的对象时,鼠标指针将变成禁止形。,把鼠标放入目标控件时,改变鼠标指针指出控件如何响应,首先用,Get Format,方法判断,Data Object,对象里的数据类型,然后设置,OLE Drag Over,事件的效果参数以通知源,这个控件允许何种放下效果。,在把目标控件的,OLE Drop Mode,属性设置为手工时,拖动数据无论何时经过这个控件都触发,OLE Drag Over,事件,如果放下了对象,则用,OLE Drag Over,事件的效果参数指定执行的操作。,OLE Give Feedback,事件包含其自身的效果参数,用这个参数向用户提供视觉反馈,当拖动选定时,依据这个反馈执行操作。,在拖动源数据经过目标并触发,OLE Drag Over,事件时,源会告诉目标,它允许什么效果。此后,必须选择唯一效果。,OLE Drag Over,事件的效果参数通知源,它支持哪一个放下操作,然后,源又用,OLE Give Feedback,事件改变鼠标指针,以这个方式通知用户。,OLE Give Feedback,事件包含两个参数,使用它们可以改变,OLE,拖放操作中的默认鼠标指针。效果参数像其它,OLE,拖放事件一样,指出是复制、移动还是拒绝数据,但它在这个事件中,这个参数意在通过改变鼠标指针来指出操作类型,向你提供自定义的视觉反馈。,默认光标参数指示是否使用默认的,OLE,鼠标指针的集合,设置为,False,,可以用,Screen,对象的,Mouse Pointer,属性指定自己的指针。,20,获取数据,把源放到目标时会触发,OLE Drag Drop,事件。在启动拖动操作时,如果已把数据放到,Data Object,对象中,可以在触发,OLE Drag Drop,事件时使用,Get Data,方法获取数据。,但是,如果启动拖动操作时声明了所支持的源的格式,则这个方法自动在源触发,OLE Set Data,事件,这个事件把数据放到,Data Object,对象中,然后再从中获取数据。,Get Data,方法提供了代表,Data Object,对象支持的数据类型的常数。,21,查询,Data Object,对象,有时可能需要向,Data Object,对象查询放到目标的数据的类型。可在,If,语句中用,Get Format,方法指定目标控件所能接受的数据类型。如果,Data Object,对象里的数据兼容,则完成了放的操作。,如果源支持多种格式或者为创建数据会耗费大量时间时,则可能希望仅仅在目标请求数据时才把数据放到,Data Object,对象中。,OLE Set Data,事件使源对于一种指定的数据格式只响应一个请求。,22,放下数据时通知源,OLE Drag Drop,事件的效果参数规定,在放数据时如何把数据合并入目标。设置这个参数后,就可以用设置在源触发,OLE Complete Drag,事件。随后,源可执行适当的操作。,OLE Complete Drag,是拖放操作里的最后一个事件。,OLE Drag Drop,事件的效果参数与,OLE Drag Over,事件的效果参数使用一样的参数,这个参数被用来通知源,在把数据放到目标时执行的是什么操作。,如果在,OLE Give Feedback,事件中指定了自定义的鼠标指针,则还应该使用,OLE Complete Drag,事件重置鼠标指针。,23,从资源管理器中拖动文件,可在资源管理器和适当的,Visual Basic,控件之间使用,OLE,拖放来拖动文件。在资源管理器中选定一组文本文件,然后把它们拖放到一个文本框控件中就可把文本全部打开。,24,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!