VB的灵魂之对象使用(二)计算机等级考试
文章作者 100test 发表时间 2009:07:08 01:48:24
来源 100Test.Com百考试题网
编辑特别推荐:
全国计算机等级考试(等考)指定教材
全国计算机等级考试学习视频
全国计算机等级考试网上辅导招生
全国计算机等级考试时间及科目预告
百考试题教育全国计算机等级考试在线测试平台
全国计算机等级考试资料下载
全国计算机等级考试论坛
上一篇文章我们介绍了什么是对象等一些关于对象的内容,那些这篇呢温暖就介绍如何在VB中创建……
创建对象
创建对象的最简单方法是在“工具箱”中双击控件。但是,对 Visual Basic 中的所有可用对象以及来自其它应用程序的所有可用对象,要想充分体现它们的优势,可在运行时用 Visual Basic 的可编程性能创立对象。
1.用对象变量创建对象引用
2.用类模块“从零开始”创建自己的对象
3.用集合对象创建自己的集合
详细信息 在其它章节将会介绍如何访问对象。例如,在第十章“用部件编程”中将讨论 CreateObject 和 GetObject 函数。
使用对象变量
除了存储值以外,变量可引用对象。如同给变量赋值一样,基于下列相同理由,可把对象赋给变量:
1.变量名往往比变量所含的值(或者,在此情况下,所含值就是它们引用的对象)短而好记。
2.在运行代码时,为了引用其它对象,应改变变量。
3.引用包含对象的变量比反复引用对象本身有更高的效率。
使用对象变量与使用常规变量一样,只不过多了把对象赋予变量这一步:
4.首先声明变量:
Dim variable As class
5.然后把对象赋予变量:
Set variable = object
声明对象变量
声明对象变量的方法和声明其它变量一样,要用 Dim、ReDim、Static、Private和 Public。仅有的不同在于可选的 New 关键字和 Class 参数,本章后面将会对 New 关键字和 Class 参数都作介绍。语法是:
{Dim | ReDim | Static | Private | Public} variable As [New] class
例如,可以声明一个对象变量,它引用应用程序中的被称做 frmMain 的窗体:
Dim FormVar As New frmMain 声明一个类型为 frmMain
的对象变量。
也可以声明一个对象变量,它引用应用程序中的任何窗体:
Dim anyForm As Form 一般窗体变量。
类似地,可以声明一个对象变量,它能够引用应用程序中的任何文本框:
Dim anyText As TextBox 可以引用任何文本框
(但只能是一个文本框)。
还可以声明一个对象变量,它能够引用任何类型的控件:
Dim anyControl As Control 一般控件变量。
注意,可以声明一个引用应用程序中的指定窗体的窗体变量,但不能声引用特定控件的控件变量。可以声明能够引用控件的特定类型(如 TextBox或列表框)的控件变量,但不是引用那种类型的一个特定控件(如 txtEntry 或List1)。但是,可把特定的控件赋予那种类型的变量。例如,对于具有列表框 lstSample 的窗体可以这样编码:
Dim objDemo As ListBox
Set objDemo = lstSample
赋值对象变量
用 Set 语句将对象赋予对象变量:
Set variable = object
无论何时,只要希望对象变量引用对象,就可使用 Set 语句。
有时可用对象变量,尤其可用控件变量直接缩短要键入的代码。例如,原来的代码是这样的:
If frmAccountDisplay!txtAccountBalance.Text <. 0 Then
frmAccountDisplay!txtAccountBalance.BackColor = 0
frmAccountDisplay!txtAccountBalance.ForeColor = 255
End If
如果使用控件变量,程序就可显著缩短:
Dim Bal As TextBox
Set Bal = frmAccountDisplay!txtAccountBalance
If Bal.Text <. 0 Then
Bal.BackColor = 0
Bal.ForeColor = 255
End If
特定对象类型与一般对象类型
特定的对象变量必须引用特定类型的对象或类。特定的窗体变量只能引用应用程序中的一个窗体(尽管可在该窗体的诸多实例中引用其中之一)。与此相似,特定的控件变量只能引用应用程序中的特定类型的控件,比如TextBox 或者列表框。请看一例,打开新的工程,在窗体中放置一文本框。将下列代码添加到窗体中:
Private Sub Form_Click ()
Dim anyText As TextBox
Set anyText = Text1
anyText.Text = "Hello"
End Sub
运行应用程序并单击窗体。文本框的 Text 属性将变成 "Hello"。
一般对象变量可在多种特定对象类型中引用其中一种。例如,一般窗体变量可引用应用程序中的任何窗体;一般控件变量可引用应用程序中任何窗体上的任何控件。请看一例,打开新的工程并在窗体中按任意顺序放置若干 Frame、Label 和 CommandButton 控件。将下列代码添加到窗体中:
Private Sub Form_Click ()
Dim anyControl As Control
Set anyControl = Form1.Controls (3)
anyControl.Caption = "Hello"
End Sub
运行程序并单击窗体。刚才放入窗体中的第三个控件的标题将变成"Hello"。
Visual Basic 中有四种一般对象:
在不知道变量运行时是否引用特定类型的对象时,一般对象变量是很有用的。例如,如果要书写代码,并使之在应用程序的任何窗体中都可操作,则必须使用一般窗体变量。
注意 由于应用程序中只能有一个 MDI 窗体,因此不必使用一般的MDIForm 类型。无论何时,一旦需要声明引用 MDI 窗体的窗体变量,就可用特定的 MDIForm 类型(或者是 MDIForm1,或者是对 MDI窗体的 Name 属性指定的任何名称),而不用一般的 MDIForm 类型。实际上,由于在运行应用程序前,Visual Basic 就能够决定引用特定窗体类型的属性和方法,因此总应使用特定的 MDIForm 类型。
只是出于完整性的考虑才提供一般的 MDIForm 类型;在 Visual Basic 的今后版本中,单个应用程序中可以拥有多个 MDI 窗体,这将是非常有用的。
作为对象的窗体
窗体最常用到的是构造应用程序界面,但也常常是应用程序中其它模块调用的对象。窗体与类模块关系密切。两者之间的主要区别在于,窗体是可视对象,而类模块却没有可视界面。
添加自定义方法和属性
可对窗体添加自定义方法和属性,并可从应用程序中的其它模块访问它们。为了创建窗体的新方法,请添加用 Public 声明的过程。