VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - VB中的OLE技术与OLE控制
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:25750, 日期:2000-10-09
VB中的OLE技术与OLE控制

  自VB4.0之后,OLE技术在VB中得到了越来越广泛的支持,目前流行的ActiveX技术的核心也是OLE 。OLE技术可以满足用户在一个文档中加入不同格式数据的需要(如文本、图像、声音等),即所谓建立复合文档问题。我们在Word文档中嵌入Excel表格,当用鼠标双击电子表格时,Word的菜单、工具条都变为Excel的菜单、工具条,这是OLE技术的使用;在WIN95下,我们可以将一个数据对象用鼠标拖动到另一个软件的文档中,这也是OLE技术的使用。

  1993年Microsoft公司发布了OLE2.0规范,OLE2.0是由多层模型构成的(见图1),底层服务(COM)由操作系统管理,对于VB程序员是屏蔽不可见的,VB程序设计者使用最多的是中间一层。

  VB中经常用到的有OLE可视化编辑、复合文档、拖动、剪贴板和OLE自动化等服务。OLE有4种基本的应用:对象链接(Object Link)、对象嵌入(Object Embed)、OLE自动化(OLE automation)和OLE控件。

  ·OLE对象是指由支持OLE技术的应用程序(OLE服务器)可提供的数据。

  ·对象链接是指在OLE对象和VB中支持OLE控件之间建立一个链,并未将OLE数据复制过来。这是一种动态联系。

  ·对象嵌入是指将OLE对象复制到VB当前程序中,即在OLE控件内部保存数据。

  ·OLE自动化使得VB程序使用另外程序的功能,如用Word的拼写器程序检查当前程序的文本框中文本的拼写错误而不必再费力编写相同功能的程序。

  自4.0版后,VB中的控件库VBX(Visual Basic Extension )已经由OCX(OLE Control Extension )所代替,即所谓的OLE控件。例如VB的窗体就能起到OLE 包容器的作用,通过处理窗体的OLEDragOver和OLEDragDrop事件过程,可将图形、工作表、声音等OLE对象直接拖放到窗体中,有了这种技术的支持,VB的程序员就可以在自己的程序中使用各种应用程序功能的接口,并将它们集成显示在窗口中。我们还可使用VB中的OLE控件,通过加入此控件,适当改变该控件的属性,就可用一些VB中支持OLE的方法在程序中方便地建立链接式或嵌入式OLE对象,如可用方法:

  ·CreateEmbed:创建嵌入式的OLE对象;

  ·CreateLink:创建链接式OLE对象。

  使用这种方法有很多的优点,如可在程序运行动态建立或修改OLE对象;鼠标双击OLE对象后出现可编辑OLE对象数据的菜单和工具栏(见图2)。还可将多个OLE对象保存到一个文件中等。

  图1

  VB5.0中可使用ActiveX Control Interface Wizard功能,创建新的OCX控件,且开发的OCX控件可在VB、VC++、VFP、MS Office97中使用。