重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
ole1.objectverbscount
在大安市等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站制作 网站设计制作按需网站建设,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,外贸营销网站建设,大安市网站建设费用合理。
是调用
ole1
容器内项目的个数如果
ole1.objectverbs(i)
项目
是
"打开(o)"
命令那么退出这个函数,估计就是取
i的值来判断
那个
ole1.objectverbs(i)
是打开命令。
OLE 控件(现在称为ActiveX 控件)OLE(发音为“oh—Lay”)的全称是:Object Linking and Embedding(对象链接与嵌入)。可以在 Windows 应用程序的对话框中使用,或在万维网的 HTML 页中使用。
即为对象的链接与嵌入
也可以指把提供嵌入及链接对象的应用程序,称为服务器应用程序(Servers),在VB中也称为"对象应用程序"。
把接受嵌入及链接对象的应用程序,称为客户(Clients)应用程序,在VB中也称为"控制应用程序"。
名词解释:
VB:
Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
语言特性
VB 的中心思想就是要便于程序员使用,无论是新手或者专家。VB使用了可以简单建立应用程序的 GUI 系统,但是又可以开发相当复杂的程序。VB 的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法。因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。过去的版本里面 VB 程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。
窗体控件的增加和改变可以用拖放技术实现。一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。每个控件都有自己的属性和事件。默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。
VB 的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
VB 的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。
VB 使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。和有些语言不一样,VB 对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。
VB 使得大量的外界控件有了自己的生存空间。大量的第三方控件针对 VB 提供。VB 也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。
vb2010(vb.net)貌似已经没有OLE控件
下面的代码是用PictureBox控件显示CAD的DWG文件
Private Structure BITMAPFILEHEADER
Dim bfType As Short
Dim bfSize As Integer
Dim bfReserved1 As Short
Dim bfReserved2 As Short
Dim bfOffBits As Integer
End Structure
Public Function GetDwgImage(ByVal FileName As String) As Image
If Not File.Exists(FileName) Then Exit Function
Dim DwgF As FileStream '文件流
Dim PosSentinel As Integer '文件描述块的位置
Dim br As BinaryReader '读取二进制文件
Dim TypePreview As Integer '缩略图格式
Dim PosBMP As Integer '缩略图位置
Dim LenBMP As Integer '缩略图大小
Dim biBitCount As Short '缩略图比特深度
Dim biH As BITMAPFILEHEADER 'BMP文件头,DWG文件中不包含位图文件头,要自行加上去
Dim BMPInfo() As Byte '包含在DWG文件中的BMP文件体
Dim BMPF As New MemoryStream '保存位图的内存文件流
Dim bmpr As New BinaryWriter(BMPF) '写二进制文件类
Dim myImg As Image
Try
DwgF = New FileStream(FileName, FileMode.Open, FileAccess.Read) '文件流
br = New BinaryReader(DwgF)
DwgF.Seek(13, SeekOrigin.Begin) '从第十三字节开始读取
PosSentinel = br.ReadInt32 '第13到17字节指示缩略图描述块的位置
DwgF.Seek(PosSentinel + 30, SeekOrigin.Begin) '将指针移到缩略图描述块的第31字节
TypePreview = br.ReadByte '第31字节为缩略图格式信息,2 为BMP格式,3为WMF格式
Select Case TypePreview
Case 1
Case 2, 3
PosBMP = br.ReadInt32 'DWG文件保存的位图所在位置
LenBMP = br.ReadInt32 '位图的大小
DwgF.Seek(PosBMP + 14, SeekOrigin.Begin) '移动指针到位图块
biBitCount = br.ReadInt16 '读取比特深度
DwgF.Seek(PosBMP, SeekOrigin.Begin) '从位图块开始处读取全部位图内容备用
BMPInfo = br.ReadBytes(LenBMP) '不包含文件头的位图信息
br.Close()
DwgF.Close()
With biH '建立位图文件头
.bfType = H4D42
If biBitCount 9 Then .bfSize = 54 + 4 * (2 ^ biBitCount) + LenBMP Else .bfSize = 54 + LenBMP
.bfReserved1 = 0 '保留字节
.bfReserved2 = 0 '保留字节
.bfOffBits = 14 + H28 + 1024 '图像数据偏移
End With
'以下开始写入位图文件头
bmpr.Write(biH.bfType) '文件类型
bmpr.Write(biH.bfSize) '文件大小
bmpr.Write(biH.bfReserved1) '0
bmpr.Write(biH.bfReserved2) '0
bmpr.Write(biH.bfOffBits) '图像数据偏移
bmpr.Write(BMPInfo) '写入位图
BMPF.Seek(0, SeekOrigin.Begin) '指针移到文件开始处
myImg = Image.FromStream(BMPF) '创建位图文件对象
Return myImg
bmpr.Close()
BMPF.Close()
End Select
Catch ex As Exception
Return Nothing
End Try
End Function
ole对象实际上就是别人的程序原封不动的拿来使用。可在 Visual Basic 应用程序中添加的最强大、最有用的功能之一就是在控件和控件之间、在控件和其它 Windows 应用程序之间拖动文本和图形。有了 OLE,就可将这种功能引入到应用程序中。
使用 OLE 拖放时,并不是把一个控件拖动到另一个控件并调用代码(象本章前面讨论的拖放一样);而是将数据从一个控件或应用程序移动到另一个控件或应用程序。例如,您可以选择并拖动
Excel 中的一个单元范围,然后将它们放到应用程序的 DataGrid 控件上。
Visual Basic 的几乎所有控件都在某种程度上支持 OLE 拖放。此外,一些标准的和 ActiveX 控件(由 Visual Basic 专业版和企业版提供的)还提供对 OLE 拖放的自动支持,这意味着控件支持在 OLEDragMode 和 OLEDropMode 属性中的自动设置,并且无论是从控件拖出还是在控件内放入都不需要编写代码。这一点与手动拖放相反,在手动拖放中,您必须为拖放编程:
有些支持自动 OLEDragMode 和 OLEDropMode 的控件包括 PictureBox、Label、以及 TextBox 控件。为对这些控件启动自动 OLE 拖放,应将 OLEDragMode 和 OLEDropMode 都设置为“自动化”。
有些控件支持自动 OLE 拖动,但只支持手动放下,有些支持自动放下,但只支持手动拖动。例如,ComboBox 控件支持手动和自动拖动,但不支持自动放下。这是由于如果您将一个项目拖动到 ComboBox 中,Visual Basic 无法知道将新项目放下的确切位置。然而,可以使用手动放下
,这样您就可以将项目程序化的放在您希望在 ComboBox 中的位置了。要启动这些控件的自动拖动,应将 OLEDragMode 属性设置为“自动化”。
有些控件只支持手动 OLE 拖放事件,这意味着可用代码对它们进行编程,使之成为 OLE 拖放操作的源,也可使之成为 OLE 拖放操作的目标。
注意 为判断其它 ActiveX 控件是否支持 OLE 拖放,应在 Visual Basic 中加载控件并检查 OLEDragMode 和 OLEDropMode 属性是否存在,或检查 OLEDrag 方法是否存在。(不自动支持 OLE 拖动的控件也将不具有 OLEDragMode 属性,但是,如果控件通过代码支持 OLE 拖动,则其具有 OLEDrag 方法。)
注意 窗体、MDI 窗体、文档对象、用户控件和属性页都包含 OLEDropMode 属性,而且仅支持手工拖放。