创建事件过程
vb应用程序的代码被分为称为过程的小的代码块。事件过程,正如此处正要创建的一样,包含了事件发生(例如单击按钮)时要执行的代码。控件的事件过程由控件的实际名称(Name 属性中所指定的)、下划线 (_) 和事件名组合而成。例如,在单击一个名为 Command1 的命令按钮时调用的 Name 事件过程,可称为 Command1_Click 事件过程。
要创建事件过程,请按照以下步骤执行:
1. 在“对象”列表框中,选定活动窗体中的一个对象名(活动窗体是指当前有焦点的窗体)。在这一例子中,选定命令按钮 Command1。
2. 在“过程”列表框中,选择指定对象的事件名。此时 Click 过程已经被选定,因为它是命令按钮的缺省过程。注意,这时事件过程的模板已经显示在“代码”窗口中。
3. 在 Sub 和 End Sub 语句之间输入下面的代码:
Text1.Text = "Hello, world!"
这个事件过程应该是:
Private Sub Command1_Click ()
Text1.Text = "Hello, world!"
End Sub
值得注意的是,此处代码只简单改变了控件 Text1 的 Text 属性,读入"Hello, world!"。这个例子的语法采用object. property的格式,其中 Text1 是对象,Text 是属性。响应应用程序运行中发生的事件时,可以用这种语法来改变任何窗体或控件的属性设置值。
详细信息 关于创建其它类型过程的详细信息,请参阅第五章“编程基础”中的“过程概述”一节。
运行应用程序
为了运行应用程序,可以从“运行”菜单中选择“启动”,或者单击工具栏中的“启动”按钮,或按 F5 键。单击刚才在窗体上创建的命令按钮,文本框中就会显示 "Hello, world!"。
Firstapp 示例应用程序
由于 vb提供了远比本例应用程序丰富得多的工具,因此马上可以使用许多其的特性来管理和配制应用程序。复习示例应用程序是学习vb的极好方法。下述示例展示了用 vb编制实用的应用程序是多么的轻而易举。
应用程序Firstapp 演示了如何使用 data 控件和 grid 控件显示取自数据库的信息表。vb使得从应用程序内部到数据库的访问非常地容易。数据控件提供了在数据库的记录集中漫游的功能,以及使得在 grid 控件中显示的记录与数据集中的位置同步的能力。
本例包含一个数据控件、一个MSFlexGrid 控件、一个列表框控件和两个命令按钮。网格显示了从Northwind 数据库检索到的产品的信息表。当使用数据控件上的定位按钮选定网格的一项时,被选中的产品名便显示在数据控件上。还可以双击网格中当前选择位置,在列表框控件的“购书单”中添加当前选择的书名。
用 AddItem 方法可以添加列表框的信息。方法是作用于特定对象(本例中为 ListBox 对象)的 vb函数。指定方法的语法 (object.method) 与设置属性的语法 (object.property) 类似。AddItem 方法可以在程序运行时动态地添加列表框的内容。相反,Clear 方法用于清除列表框的全部信息。
详细信息 关于方法的详细内容,请参阅第三章“窗体、控件和菜单”中的“属性、方法和事件概述”一节。
创建工程
创建工程首先要从“文件”菜单中选择“新建工程”,然后从“新建工程”对话框中选定“标准 EXE”(首次启动 vb时将会显示“新建工程”对话框)。vb创建一个新的工程并显示一个新的窗体。用一个数据控件、一个MSFlexGrid 控件、一个列表框控件以及两个命令按钮画出了应用程序的界面。MSFlexGrid 控件不在缺省的工具箱内,因此必须添加:
要添加控件到工具箱,请按照以下步骤执行:
1. 选定工具箱的上下文菜单中的“部件”(可以在工具箱窗口内部单击右键显示上下文菜单。)。“部件”对话框被显示。
2. 找到“控件”列表框中的“MSFlexGrid (Microsoft Flex Grid 6.0)”项,然后选中其左边的复选框。
3. 单击“确定”按钮。在工具箱中有了MSFlexGrid 控件的图标。
使用工具箱在窗体上画出一个数据控件、一个MSFlexGrid 控件、一个列表框控件和两个命令按钮。如果您不记得如何绘制,请参阅本章前面的"Creatingthe Interface"。
设置属性根据下表在属性窗口中设置对象的属性,其余的属性均使用缺省值。
数据控件的 DatabaseName 属性必须包含数据库的实际路径。按照缺省规定,Biblio.mdb 数据库的按钮与 vb安装在同一个目录下。在属性窗口中选择 DatabaseName 属性时,可以单击该属性右侧的按钮显示标准的“打开文件”对话框浏览文件。设置完 DatabaseName 属性后,属性窗口中的 RecordSource 属性将包含选中的数据库中的表或记录集的清单。将DataGrid 控件的 DataSource 属性设置为 Data1,将自动地把网格和数据控制链接起来。
编写事件代码
程序所有的代码包含在 Command1_Click、Command2_Click、Data1_Reposition 和DataGrid1_DblClick 事件过程中。双击窗体或控件显示代码窗口,然后输入各事件过程的代码。
将以下代码添加到 Command1_Click 事件过程中,用于单击按钮时清除列表框:
Private Sub Command1_Click ()
List1.Clear' 清除列表框。
End Sub
以上语句调用了列表框 List1 的 Clear 方法,Clear 方法删除该列表框的内容。
将以下代码添加到 Command2_Click 事件过程中,用于从内存中卸载窗体并终止应用程序:
Private Sub Command2_Click ()
Unload Form1
End' 终止应用程序
End Sub
以上过程的第一条语句调用窗体的 Unload 事件。如果需要在终止程序时执行一个功能(例如保存文件),可以把代码放到窗体的 Unload 事件过程中。第二条语句调用 End 函数终止程序。
将以下代码添加到 Data1_Reposition 事件过程中,用于每当选择一个记录时更新标题:
Private Sub Data1_Reposition ()
Data1.Caption = Data1.Recordset("Title")
End Sub
以上语句将右边的值(数据控件的记录集的 Title 字段)赋给左边的属性(数据控件对象的 Caption 属性)。
将以下代码添加到DataGrid_DblClick 事件过程中,用于当双击一个选定的行时向列表框添加信息。
Private Sub DataGrid1_DblClick ()
List1.AddItem Data1.Recordset("Title")
End Sub
以上语句调用列表框 List1 的 AddItem 方法。添加到列表框中的文本被包含在该方法的参数中(此时为数据控件的记录集的 title 字段)。将一个值传递给参数类似于给属性赋值,与赋值语句不同的是不需要用等号。
保存工程
从“文件”菜单中选取“保存工程”命令来结束本次创建应用程序的工作。vb将分别提示保存窗体和保存工程。可以将工程命名为“书店销售清单” ("Bookstore Shopping List.")。Windows 95 和 Windows NT 都允许使用长达 255 个字符的文件名而且可以包含空格。旧版的 MicrosoftWindows 只允许八个字符的文件名外加三个字符的扩展名。
增强应用程序
这样第一个vb应用程序就完成了:这是一个功能简单却很有用的程序。可以以此为基础在自己的应用程序中添加新的功能,用自己的数据替换 Biblio.mdb。当然,要使本程序真正实用,还要添加基本的保存或打印列表框内容的功能、添加更多的信息,如价格、是否有货,甚至可以收集信用卡的信息和通过 Internet 传送订单。通过继续阅读《程序员指南》的其余部分将找到所有有关这些功能的例子和其它更多的知识。