VB作为一门基于对象的编程语言,VB中的对象是无处不在的。我们一般说“类”就是某一类具有相同特征的事物,比如VB中的控件CommandButton等等。而某一个具体事例称为对象,比如,控件的实例(Form1,MyForm)、(Command1、cmdOk)等,所以所以对象的使用是很广泛的。
常用对象我们可以分为:
全局对象:指一个类型只有唯一的一个实例,不用定义
引用对象:VB提供的程序(常用控件),引入的对象不具有可视化
自定义类的实例对象
其他类的对象
今天我重点来讲讲全局对象!
全局对象,全局全局,顾名思义,就是在整个应用程序期间都可以使用,不用声明,具有唯一的实例。具体看看都有哪些吧!
分类
App对象:整个应用程序,当前的应用程序
Screen对象:显示部分,主要以屏幕为容器
Err对象:异常,错误,在程序运行过程中遇到的错误,判断程序出现的异常,在给定的异常下来修饰
Clipboard对象:剪切板,Ctrl+C、Ctrl+V
Forms对象:窗体,属于集合对象,包括了当前应用程序载入的所有窗体,可以通过遍历
Print对象:打印机、输入结果、集合对象
Debug对象:调试
上面就是我列的一些全局对象,光说不练等于白学,实际操作下吧!
App对象
主要代表的是当前正在编写的程序。主要属性:
1.Path:返回当前所属程序返回的说属路径、当前可执行文件所属路径
Private Sub Command1_Click()
MsgBox App.Path '返回当前VB环境中的位置
End Sub
Private Sub Command1_Click()
MsgBox App.Path & "\" & App.EXEName ’返回当前文件的可执行文件名
End Sub
Private Sub Command1_Click()
MsgBox App.Path & "\" & App.EXEName & ".txt" '返回当前可执行文件的路径(包含可扩展名)
End Sub
运行结果显示分别如下:
2.hInstance:当前应用程序实例句柄,判断操作,一般跟动态链接库相关时使用
PrevInstance:终止上一应用程序实例句柄
3.Major:主版本号 Minor:次版本号 Revision:修订版本号
版本号一般代表当前应用程序修订的次数,修订版本号越高表示修订越高
或者在工具栏-->工程-->生成-->版本号修改,手动修改也可
Screen对象
屏幕对象。主要时读取信息
1.Height:高度 Width:宽度 单位:Twip
2.MousePointer:当前光标
当点击Command1时,光标改变;当点击Command2时,光标恢复
Private Sub Command1_Click()
Screen.MousePointer = vbHourglass
End Sub
Private Sub Command2_Click()
Screen.MousePointer = vbDefault
End Sub
3.MouseIcon:当前屏幕的光标
ClipBoard对象
剪切板,具有唯一性,主要功能时拷贝剪切复制。主要属性:
1.SetText data,textformat:设置文本,文本格式
2.GetText(textformat):取得文本区域中文本数据,文本格式
3.SetData data,picformat:指明图片格式
4.GetFormat(dataformat):判断返回值是否有数据,文本信息
先在工具栏-->工具-->菜单编辑器中,添加相应的菜单,代码块如下:
Private Sub mnucopy_Click()
Clipboard.SetText Text1.SelText
Rem 将剪切板中的文字复制
End Sub
Private Sub mnupast_Click()
If (Clipboard.GetFormat(vbCFText)) Then
Text2.SelText = Clipboard.GetText
End If
Rem 判断剪切板中是否有数据,如果有将剪切本的文字复制到文本框2中
End Sub
运行结果为:
Error对象
异常对象。主要属性:
1.Number:(0-512)(513-65535),vbObjectError:错误号,分别表示为系统提供的错误号和用户自己提供的错误号
这里通常所说的错误号其实就是我们在程序运行中常常出现的实时错误提示框
2.Description:错误描述
3.Source:产生错误的地方
主要方法:Clear:把全局的错误对象清空,恢复称错误数number为0
Raise:运行时产生错误
错误处理:On Error resume Next:On Error:忽略错误语句,继续往下执行程序
On Error Goto [lineLabel | 0 ]:On Error Goto:从这条语句开始以下,如果遇到任何错误,直接转到错误提示语句
If (err.number>0) then...:判断错误号是否>0
Resume [[0] | Next | Line]:当错误转到行号时,直接在行号中处理,直接清空|错误语句|下一条语句|行
举例:
Option Explicit
Private Sub Command1_Click()
Dim i As Long
i = 100
Dim j As Long
j = 0
On Error GoTo 20 '如果出现错误继续执行错误语句,可以是字符串,也可数值
i = i / j
MsgBox i
Exit Sub
20: '错误语句
MsgBox "Have Error(s)"
i = i / 10 '提示完错误语句继续执行
Resume Next
End Sub
运行过程如下:
当单击Command时,自动弹出错误语句提示框,告诉“HaveError(s)”,当在点击错误提示框的确定时,程序继续执行条件
小编对VB当中的全局对象先介绍到这里,不足之处欢迎赐教!