
1.2 Visual Basic程序概述
简单的Visual Basic 6.0应用程序可以只包含一个工程,且这个工程只包含一个窗体。而复杂的Visual Basic 6.0应用程序可以包含多个工程。
1.2.1 程序特点
【例】使用Visual Basic开发一个绘图程序。
(1)程序运行界面如图1-12所示,程序代码如图1-13所示。
(2)当程序运行时,利用鼠标左键在白色绘图区拖动,就可以完成绘图。

图1-12 绘图程序

图1-13 程序代码
(1)Visual Basic程序由界面和代码两部分组成。
(2)程序界面中的常见“对象”通常指控件和窗体。“窗体”就是运行时候的窗口,在本程序中包含一个窗体Form1;“控件”是窗体上的元素,程序中包含1个图片框控件Picture1。
(3)Visual Basic的代码由语句组成,语句中的字母不区分大小写,语句以回车符结束。当输入完一条语句并按【Enter】键后,Visual Basic会自动对其进行格式化处理。
Visual Basic允许在一行上书写一条或多条语句。当在一行上书写多条语句时,语句间要用冒号隔开,例如,t=a:a=b:b=t表示本行中书写了3条语句。
Visual Basic也允许一条语句分成若干行书写,但要在每行末尾加上空格及下画线作为续行标志,表示下一行与本行是同一条语句。例如:

(4)注释。为了方便说明程序的功能和含义,可以在恰当的位置添加程序的注释。注释部分写在一个单撇号(')的后面,可以出现在行末或是单独一行。注释语句不参与程序执行,当然也就不会影响程序的运行结果。
1.2.2 面向对象思想
1.类与对象
在Visual Basic中,常用类主要包括“控件”和“窗体”等。窗体是程序运行时的一个窗口;控件是窗体上的一些界面元素,如命令按钮和文本框等。
例如,在Visual Basic程序设计时,可以生成“窗体”类中一个具体的对象Form1,“图片框”类的一个对象Picture1。
2.属性
属性用来描述对象的静态特征。不同的属性取值就决定了这个对象不同于其他对象。每个对象包含的属性不同,但有些属性是很多对象共有的,例如Width和Height属性。
在代码中设置对象的属性,格式如下:
对象名.属性名=属性值
例如,一个窗体对象的名称是Form1,则通过程序代码设置其高度的语句如下:
Form1.Height=3000
如果对同一个对象的多个属性进行设置,格式如下:

例如,对图片框Picture1的多个属性进行设置,代码如下:

3.事件
类有一些系统预先定义好的、对象可以执行的动作,称为“事件”。每个事件也有自己的名字,例如,图片框具有“单击事件”,事件名称的关键字是MouseMove。那么当用户在图片框Picture1上移动鼠标时,就会触发MouseMove事件。
当事件被触发时,Visual Basic就会转去执行该函数中的代码,实现相应的功能。如果想在程序运行时移动鼠标完成相应的功能,就要在Picture1的MouseMove事件中编写代码。其实每个事件都是一个函数,事件可能带有参数。
事件的语法格式如下:

例如,在图片框对象上移动鼠标会触发MouseMove事件:

其中参数X和Y表示鼠标移动时,鼠标当前点在Picture1上的横坐标和纵坐标。
4.方法
对象的方法是由系统已经实现的一些函数,用户只需要直接使用即可。引用方法的格式如下:
对象名.方法名参数
例如,以下程序可以在鼠标移动时,利用窗体的画点方法PSet,产生画笔效果。
Picture1.PSet(X,Y) '在鼠标所在处画点