VisualBasic概览VisualBasic(以下简称VB)是美国微软公司推出的在Windows操作平台上广泛使用的一种可视化程序设计语言,使用VB可以方便快捷地开发Windows应用程序.
在深入学习VB编程之前,本章先介绍VB的特点、集成开发环境及面向对象的基本概念.
1.
1VisualBasic概述1.
1.
1VisualBasic简介知识要点分析Visual的意思是"可视的",即直观的编程方法.
在VisualBasic中引入了控件的概念,如按钮、标签、文本框和复选框等.
VisualBasic把这些控件模块化,并且每个控件都有若干属性用来控制其外观和行为.
这样,不需要编写大量代码去描述界面元素的外观和位置,只要简单地把控件加到窗体上即可.
Basic是指BASIC(BeginnersAll-PurposeSymbolicInstructionCode)语言,是一种在计算机技术发展史上应用得最为广泛的语言之一.
VisualBasic在原有BASIC语言的基础上进一步发展,既继承了BASIC语言编程的简便性,又具有Windows的图形窗口工作环境;既是一种可供非计算机专业的设计人员学习和掌握Windows编程的最简单易学的程序设计语言,同时又是一种可供专业程序开发人员开发Windows应用程序的设计语言.
如果学过BASIC语言,那么现在学习VisualBasic语言就变得更容易了.
VisualBasic(VB)是Microsoft公司在1991年推出的基于Windows环境的软件开发产品.
从1.
0版到现在的6.
0版,VisualBasic在广泛的使用中不断发展和完善.
目前,VisualBasic使用较多的版本是VisualBasic6.
0,且有VisualBasic6.
0中文版.
VisualBasic6.
0有3种不同的发行版本,以满足不同开发目的需要.
1.
VisualBasic学习版(LearningEdition)这个版本包括所有的内部控件,以及网络、选项卡和数据绑定控件.
使用学习版能方便地开发Windows95/98和WindowsNT4.
0下的应用程序.
2.
VisualBasic专业版(ProfessionalEdition)专业版包括学习版的全部功能,以及附加的ActiveX控件、IIS应用程序设计器、集成的可视化数据工具和数据环境、ActiveX数据对象和动态HTML页面设计器等.
专业版为专业编程人员提供了一套功能齐全的开发工具.
3.
VisualBasic企业版(EnterpriseEdition)企业版包括专业版的全部功能,并带有BackOffice工具,如SQLSever、MicrosoftTransactionServer、InternetInformationServer和VisualSourceSaft等,使用企业版能够开发出功能强大的应用程序.
本书内容的讲解以VB6.
0中文企业版为准,系统全面地介绍VB6.
0版的数据类型、常用标准函数、语句、函数和过程、文件、标准控件、数据库管理等内容.
1.
1.
2VisualBasic的安装和启动知识要点分析1.
VB的安装将VB6.
0的安装光盘放入光驱,执行安装光盘上的Setup.
exe程序,启动VB的安装向导,按照安装向导的指示逐步完成VisualBasic6.
0的安装.
在安装的过程中要求用户输入产品的ID号和对应的安装方式,安装程序为用户提供了两种选择:即选择"典型安装",则只安装最典型的组件,安装过程无须用户干预;如选择"自定义安装",则会打开"自定义安装"对话框,用户可以根据需要有选择地安装需要的组件.
单击"继续"按钮后,安装程序将复制文件到计算机硬盘中,复制结束后重新启动计算机完成VB6.
0的安装.
计算机重新启动后,安装程序将自动打开"安装MSDN"对话框,询问用户是否需要安装联机帮助文档MSDN.
MSDNLIBRARY是开发人员的重要参考资料,包含了容量约1GB的编程技术信息,包括示例代码、文档、技术文章、Microsoft开发人员知识库及开发程序时所需的其他资料.
它是MicrosoftVisualStudio6.
0套件之一,由两张光盘组成.
注意:VB6.
0的联机帮助文档只有在安装了MSDN后才可使用.
如要安装MSDN需要选择"安装MSDN"复选框,在光驱中放入MSDN安装盘后,单击"下一步"按钮,按屏幕提示操作即可完成安装;否则在取消选中"安装MSDN"复选框后直接单击"下一步"按钮,MSDN留待以后安装.
2.
VB的启动和退出VB安装完成后,在开始菜单的程序组中将多出一个"MicrosoftVisualBasic6.
0中文版"菜单选项,单击其级联菜单中的"MicrosoftVisualBasic6.
0中文版"即可启动VB.
VB启动后,首先显示如图1-1所示的"新建工程"对话框.
在"新建工程"对话框中,选择"新建"选项卡可以建立新的工程或应用程序,选择"现存"选项卡可以打开原有的工程,选择"最新"选项卡可以打开最近建立或使用过的工程.
在"新建"选项卡中选中"标准EXE"(缺省选项)后,单击"打开"按钮,即可进入如图1-2所示的"VB集成开发环境"的主界面,进行应用程序的开发.
图1-1"新建工程"对话框图1-2VB的集成开发环境在工程的编辑修改结束后,如果要结束VB集成开发环境的运行,则单击图1-2中VB窗口的"关闭"按钮或选择"文件"菜单中的"退出"命令,VB会自动判断用户是否修改了工程的内容,并询问用户是否进行保存文件或直接退出.
1.
1.
3VisualBasic的特点知识要点分析VB是在原有的BASIC语言基础上发展而来的.
它具有BASIC语言简单易用的优势,同时增加了面向对象和可视化程序设计语言的特点.
1)可视化的设计平台VB提供可视化的设计平台,把Windows界面设计的复杂性"封装"起来,开发人员不必再为界面的设计而编写大量程序代码,只需用系统提供的工具在屏幕上"画出"命令按钮、文本框等各种对象.
VB系统将自动产生界面设计代码,编程人员只需编写实现程序功能的那部分程序代码,从而大大提高了程序设计的效率.
2)面向对象的设计方法VB应用面向对象的程序设计方法(Objectorientedprogram,OOP),把程序和数据"封装"起来成为一个对象,每个对象都是可视的,并为每个对象赋予应有的属性.
3)事件驱动的编程机制VB通过事件来执行对象的操作,通常由用户操作引发某个事件来驱动完成某种功能.
例如,命令按钮是一个对象,当用户单击该按钮时,将产生(或称"触发")一个"单击"(Click)事件,而在发生该事件时,系统将自动执行一段相应程序(或称为"事件过程"),用以实现指定的操作和达到运算、处理的目的.
在VB中,编程人员只需针对这些事件编写相应的处理代码(即事件过程),这样的代码一般较短,所有程序既易于编写又易于维护.
4)结构化的设计程序VB是在结构化的BASIC语言基础上发展起来的,加上面向对象的设计方法,因此是更出色的结构化程序设计语言.
5)友好的VB集成开发环境VB提供了易学易用的应用程序集成开发环境.
在该集成开发环境中,编程人员可以设计用户界面、编写代码和调试程序,直至把应用程序编译成可执行文件,直接在Windows环境下运行.
6)强大的功能VB可以对多种数据库系统进行数据访问.
VB支持对象的链接与嵌入(ObjectLinkingandEmbedding,OLE)、动态数据交换(DynamicDataExchange,DDE)、动态链接库(DynamicLinkLibrary,DLL)及Active等技术,它能够充分利用Windows资源,开发出集文字、声音、图像、Web等对象于一体的应用程序.
1.
2VisualBasic系统集成开发环境界面知识要点分析集成开发环境是指在一个公共环境里融会了众多不同的功能,覆盖了开发应用程序设计、编辑、编译和调试等各个方面.
VB的集成开发环境由标题栏、菜单栏、工具栏、工具箱、属性窗口、工程资源管理器、窗体设计器、窗体布局窗口等组成.
1.
标题栏和菜单栏标题栏中显示有当前应用程序相应的工程名称和当前所处的工作模式以及最小化、最大化(或还原)、关闭等按钮.
VB6.
0集成开发环境有三种工作模式:设计模式、运行模式和中断模式,这三种模式分别表示当前应用程序的三种工作状态.
如标题栏中显示信息为工程1—MicrosoftVisualBasic[设计]方括号中的"设计"表明当前的工作状态是"设计阶段".
随着工作状态不同,方括号内的信息也随之改变,可能会是"运行"或"Break",分别代表"运行阶段"或"中断阶段".
菜单栏中显示有"文件"、"编辑"、"视图"、"工程"等多个菜单,每一个菜单中又包含了大量的菜单命令,辅助用户进行应用程序的开发、编译和调试.
单击菜单栏中的菜单名,即可打开下拉菜单,进行菜单命令的选择.
2.
工具栏和数字显示区在菜单栏下面是工具栏,工具栏上提供了许多常用命令的快速访问按钮,单击某个按钮即可完成对应的操作.
默认情况下,VB集成开发环境中显示的工具栏是标准工具栏.
用户可通过视图菜单中的工具栏命令调整各种工具栏的显示和隐藏,也可通过鼠标拖动将工具栏拖动到VB窗口的任意部分.
工具栏右侧是一个数字显示区,左数字区用来显示当前对象的坐标位置(默认窗体工作区的左上角为坐标原点,水平向右为横坐标轴正向,垂直向下为纵坐标轴正向),右数字区用来显示当前对象的大小,即对象的高度和宽度.
3.
工具箱在新建或打开"标准EXE"工程时,VB将打开标准工具箱,在标准工具箱中提供了一个指针和20个标准控件(也称为内部控件).
另外,VB还提供了大量的ActiveX控件,这些控件可以通过特定的方法添加到工具箱中.
向工具箱中添加控件的步骤为:(1)在工具箱任意空白处单击鼠标右键,在弹出的快捷菜单中选择"部件"命令,将会弹出如图1-3所示的"部件"对话框.
图1-3"部件"对话框(2)在打开的"部件"对话框中,将自己需要的控件加上选中标记,然后单击"确定"按钮后退出,所选的控件即可添加到工具箱中.
要删除工具箱中的ActiveX控件,只要按照上述方法去掉选中标记即可.
注意:内部控件无法从工具箱中删除.
在VB中还可以定义选项卡来对工具箱上的控件进行重新的组织安排,以形成一个新的工具箱,方法为:(1)在工具箱的空白处单击鼠标右键,在弹出的快捷菜单中选择"添加选项卡"命令.
(2)在打开如图1-4所示的"新选项卡名称"对话框中输入选项卡的名称,如abc,然后单击"确定"按钮后退出.
(3)使用鼠标左键将所需的控件拖动到创建的选项卡abc上,释放鼠标左键,即可完成新工具箱的创建.
以后,通过单击选项卡名称就可以在不同的工具箱之间进行切换.
4.
窗体设计器窗口窗体设计器窗口主要用来设计应用程序的用户界面,如设计窗体的外观,在窗体上添加控件、图形,移动控件,改变控件大小等.
一个应用程序可以拥有多个窗体,每个窗体必须有一个唯一的标识名称,VB在默认情况下分别以Form1,Form2,…命名窗体.
窗体工作区中布满了对齐用的小点,如果想清除这些小点或改变点与点之间的距离(即改变定位网格线的距离),可选"工具"菜单中的"选项"命令,然后在"选项"对话框的"通用"选项卡中进行调整.
说明:在"选项"对话框中还可以设置VB开发环境中的各种属性及各种窗口的格式,如所用的字体、字号、颜色等.
5.
工程资源管理器窗口(简称工程窗口)工程资源管理器窗口如图1-5所示,它以树状层次结构方式列出了当前工程(或工程组)中的所有文件,并对工程进行管理.
在窗口中,双击某个文件图标,即可打开相应的文件.
图1-4新选项卡名称对话框图1-5工程资源管理器窗口在工程资源管理器窗口的标题栏下方有"查看代码"、"查看对象"和"切换文件夹"3个工具按钮.
单击"查看代码"按钮可打开代码窗口,以便编辑和查看程序代码;单击"查看对象"按钮可打开窗体设计器窗口,以便查看和编辑正在设计的窗体;单击"切换文件夹"按钮可显示或隐藏包含对象文件夹中的个别项目列表.
6.
属性窗口属性窗口通常位于工程资源管理器窗口的下方.
单击工具栏上的"属性窗口"按钮,或按F4键,或选择"视图"菜单中的"属性窗口"命令,均可打开如图1-6所示的属性窗口.
在程序设计阶段,可通过属性窗口修改程序运行时各对象属性的初始值,调整对象的外观和相关数据.
图1-6属性窗口属性窗口由以下4部分构成.
(1)对象列表框:用于标识当前选定对象的名称以及所属的类.
单击其右端的下拉箭头,可列出当前窗体以及所包含的全部对象的名称列表,可从中选择要更改其属性的对象.
(2)属性排列方式:可通过"按字母序"选项卡和"按分类序"选项卡分别显示当前对象的各种属性.
(3)属性列表:属性列表的第一列为当前选定对象的所有属性的名称,第二列为对应各属性的属性值.
通过在任一属性的属性值上单击,即可重新设置该属性的属性值.
值得注意的是,不同的属性,其属性值的设置方法也可能各不相同.
有的属性值可直接输入,有的则必须借助于右侧显示的省略号按钮或下拉箭头式按钮才能输入.
出现省略号按钮的,单击该按钮,将会弹出新的对话框,在该对话框中完成对应属性的设置;出现下拉箭头式按钮的,单击该按钮,在属性值列表中选择相应属性值.
(4)属性解释区:显示所选属性的简单说明.
使用属性窗口修改控件属性的一般方法为:在窗体设计器中,单击选中想要修改属性的控件,然后使用属性窗口中的属性列表对相应的属性进行重新设置.
7.
代码编辑器窗口(简称代码窗口)代码编辑器窗口用于编写和修改各种通用过程代码和事件过程代码.
双击窗体的任何地方,或选择"视图"菜单中的"代码窗口"命令,或单击工程窗口的"查看代码"按钮均可打开如图1-7所示的代码编辑器窗口.
代码编辑器窗口中由对象下拉列表框、过程下拉列表框和代码区构成.
对象下拉列表框列出了当前窗体以及所包含的所有对象名.
在过程列表框中列出了前面所选对象的所有的事件名.
代码区用来编辑和修改代码.
它具有以下三种特性:自动列出成员特性、自动显示快速信息和自动语法检查.
所谓自动列出成员特性,是指在代码窗口中,当要输入控件的属性和方法时,在控件名后输入小数点,VB就会自动显示一个包含了该控件的所有属性和方法的下拉列表,并且如果输入属性名或方法的前几个字母,系统会自动检索,缩小查找的范围,并显示出需要的属性.
编程人员可以从列表中双击选择所需的内容,从而快速地完成内容的录入.
所谓自动显示快速信息,是指在代码窗口中,当输入合法的VB语句或函数名后,VB会在当前行的下方自动显示出该语句或函数的语法,辅助用户完成语句或函数的输入,避免不必要的语法错误.
自动语法检查是指在用户输入某行代码回车后,系统就会进行语句语法检查.
如果其中包含错误,系统会显示警告提示框,同时将对应的语句变为红色.
代码窗口有两种查看视图,使用代码区左下角的"过程查看"按钮和"全模块查看"按钮可在这两种视图之间切换.
单击"过程查看"按钮一次只能查看一个过程,单击"全模块查看"按钮可查看程序中的所有过程.
8.
窗体布局窗口窗体布局窗口如图1-8所示.
窗体布局窗口用来设置应用程序中各窗体的位置.
使用鼠标拖动或右击窗体布局窗口中的小窗体图标,可方便地调整程序运行时窗体显示的位置.
图1-7代码编辑器窗口图1-8窗体布局窗口1.
3VB常用术语知识要点分析1.
3.
1窗体、控件和对象在VB中,窗体是为用户设计应用程序界面而提供的窗口.
它是多数VB应用程序设计界面的基础.
它相当于一块画布,应用程序界面会全部在此画出,而无须编写任何有关界面的程序代码.
设计中使用工具箱在窗体上画出的各图形对象,如标签、命令按钮、文本框、列表框等统称为控件(Control),而窗体和控件均称为对象.
在VisualBasic6.
0中,用户无须用大量对象命令来定义对象的代码、属性和数据块,就可生成用户自定义的VB对象.
因此,对象不仅包括窗体和控件,而且VB中许多可访问的实物也称为对象.
1.
3.
2属性、事件和方法在可视化编程中,VB的窗体与控件都是程序被操作的对象.
这些对象都有自己的事件、属性和方法.
1.
事件(Event)所谓事件是由VB预先定义的、能够被对象识别的动作.
在VB中对象与应用程序的往来是通过事件来进行的.
对象的事件是固定的,不能定义新的事件,所以,VB为每个对象提供了丰富的事件,这些事件足以满足Windows中大多数操作的需要.
对每个对象,可能会有多个事件产生,当一个对象识别到某一事件发生时,就去响应事件的程序代码段,该代码段称为事件过程.
事件过程是用来完成事件发生后所要做的工作.
如应用程序中有一命令按钮,该命令按钮用于完成结束应用程序的任务,则编程者只需在命令按钮的单击事件中写入结束语句即可.
当应用程序运行时,单击命令按钮,该按钮就接收到Click单击事件,此事件响应事件过程的结束语句,程序运行结束.
不同的对象能够识别的事件是不同的,如窗体能识别单击和双击事件,而计时器只能接收Timer事件.
一般地,一个对象能识别多个事件,但在设计应用程序时不一定对每个事件编写事件过程.
在程序设计中,编程者根据程序的实际需要,对必须响应的事件编写相应的事件过程,而不必理会的事件则不需要编写事件过程.
事件过程的一般格式如下.
PrivateSub对象名_事件名称()(程序代码(EndSub2.
属性(Properties)所谓属性指对象的名字、大小、位置和颜色等特性.
在VB中,属性用来描述对象的状态.
每个对象都由若干属性来描述,不同的对象具有不同的属性,如命令按钮有Caption属性而无Text属性,文本框无Caption属性而有Text属性.
在设计应用程序时,通过改变对象的属性值来改变对象的外观和行为.
属性值的设置或修改有两种方法:一种是通过属性窗口设置,另一种是通过编程的方法在程序运行时来改变对象的属性.
这里介绍第二种方法.
在程序代码中设置属性的格式如下.
[对象名.
]属性名=属性值若对象名缺省则隐含指当前窗体.
例如,将文本框Text1的Text属性设置为"内蒙古财经学院"的命令是Text1.
Text="内蒙古财经学院"3.
方法(Method)方法是指VB提供的用来完成特定操作的特殊子程序.
与事件过程不同,方法不能响应某一事件,只是完成与对象相关联的特殊操作.
如显示、隐藏及移动对象等操作在VB中分别对应Show、Hide及Move等可执行的子程序,即方法.
用户只需要调用它们来实现这些功能.
方法不是一个独立的实体,它的功能要有对象来体现,不同的对象具有不同的内部方法,所以调用方法应指明是针对哪个对象的.
调用的一般格式为:[对象名.
]方法[参数]若对象名缺省则隐含指当前窗体.
例如,清除窗体Form1的内容的方法是:Form1.
Cls1.
3.
3工程、模块和程序工程文件(简称工程)是用来管理构成应用程序对象的所有文件和对象的清单.
工程文件的扩展名是vbp.
一个工程一般包括窗体模块和标准模块等类型文件,其中,窗体模块文件的扩展名是frm,标准模块文件的扩展名是bas.
在早期的VB版本中,一个完整的应用程序只包含一个工程,但在VB5.
0以上版本中,一个完整的应用程序可由若干工程形成一个工程组构成.
最简单的VB程序只有一个工程,且工程中只包含一个窗体.
所谓模块是由若干子程序(即过程)组成的,可以独立编译的程序代码.
在VB中,程序是模块结构的.
窗体模块文件描述了窗体的各种信息.
其中包括窗体和窗体内各控件的大小和位置等界面信息和在窗体内编写的过程、函数等程序代码以及在窗体内定义的变量和注释等.
工程文件中的每个窗体都对应一个窗体模块文件.
标准模块文件是存放与特定窗体或控件无关的变量、通用过程和函数等程序代码.
前面介绍了一些VB程序设计中常用的术语.
如果读者一时还无法掌握,可通过对后面章节的学习,加深对这些术语的理解.
1.
4设计VisualBasic应用程序的步骤应用实例VB可视化编程的一般步骤为:首先设计界面,包括建立窗体和利用控件在窗体上创建各种对象;然后再设置窗体和控件的属性;最后在代码编辑器中编写代码.
下面通过实例来说明使用VB6.
0开发应用程序应有的步骤.
【实例1-1】设计一个程序,运行时界面如图1-9、图1-10所示,单击"英文"按钮,显示"英文"界面(见图1-9),单击"中文"按钮,显示"中文"界面(见图1-10).
图1-9"英文"按钮界面图1-10"中文"按钮界面该应用程序设计步骤如下.
1.
新建工程在VB中开发的每个应用程序都被称之为工程,新建一个工程的方法有2种:(1)启动VB后,系统将显示"新建工程"对话框.
在对话框中选择"标准EXE"选项,单击"打开"按钮,即可新建一个工程.
(2)使用"文件"菜单中的"新建工程"命令,在"新建工程"对话框中选择"标准EXE",单击"打开"按钮,也可新建一个工程.
在新建工程的同时,VB会自动地创建一个窗体,默认窗体名为Form1.
根据工程的设计需要,还可以使用"工程"菜单中的"添加窗体"命令继续向工程中添加窗体,添加的窗体名依次为Form2,Form3等.
本例中,采用第1种方法新建一个工程.
2.
设计应用程序界面通过绘制控件的方法,可以在窗体上添加各种各样的控件.
本例中,在窗体上添加一个标签控件和两个命令按钮,窗体布局如图1-11所示.
图1-11窗体布局界面3.
设置对象的属性值窗体和控件的属性很多.
在进行应用程序的设计时,应根据实际需要有选择地进行其中某些属性的重新设置.
设置属性时,要确保对应的控件被选中.
单击窗体的任意空白区域选中窗体,在属性窗口中设置窗体的Caption属性为"学习可视化编程".
单击选中标签Label1,设置其Caption属性为空(无内容);通过Font属性对话框设置字体为"隶书"2号加粗.
单击选中第一个命令按钮Command1,设置其Caption属性为"中文".
单击选中第二个命令按钮Command2,设置其Caption属性为"英文".
4.
编写程序代码打开代码窗口,在对象下拉列表框中分别选择Command1,Command2,在事件下拉列表框中选择Click事件,为两个命令按钮编写单击事件过程.
代码如下.
PrivateSubCommand1_Click()Label1.
Caption="你好"'设置在标签中显示你好字样EndSubPrivateSubCommand2_Click()Label1.
Caption="Hello"'设置在标签中显示Hello字样EndSub5.
运行、调试和修改工程单击工具栏上的"启动"按钮或按F5键,即可运行工程.
单击"英文"按钮,显示图1-9;单击"中文"按钮,显示图1-10;单击工具栏上的"结束"按钮结束工程的运行.
如果在程序的运行过程中发生错误,可使用"调试"菜单中的各种命令进行调试.
在找到错误的原因后,即可进行修改.
继续测试,直到程序运行结果正确无误为止.
6.
保存工程和窗体使用"文件"菜单中的"保存工程"命令或"工程另存为"命令,可以进行工程的保存.
如果是从未保存过的新建工程,系统将会打开"文件另存为"对话框,在"文件另存为"对话框中,首先进行窗体的保存.
窗体文件的扩展名为.
frm.
当所有的窗体文件保存完毕以后,系统将会弹出"工程另存为"对话框,提示用户进行工程的保存.
工程文件的扩展名为.
vbp.
在进行文件的保存时,还存在一个设置保存路径的问题.
由于一个工程中可包含多种文件,所以在保存工程时应将所有类型的文件存放在同一个文件夹中,便于修改和管理程序文件.
本例中只有一个窗体Form1,因此,只需保存一个窗体文件(如sl1-1.
frm)和一个工程文件(如sl1-1.
vbp),将它们都放置在同一个文件夹下(如d:\第一章实例).
7.
工程的编译使用"文件"菜单中的"生成工程.
EXE"命令即可对工程进行编译.
编译的结果是产生一个扩展名为.
EXE的可执行文件.
该文件在Windows环境下可直接运行,无须依赖于VB环境的存在.
8.
工程的关闭使用"文件"菜单中的"移除工程"命令可以关闭当前工程.
如果当前工程或当前工程中的某些文件在编辑完成后未进行保存,系统将会提示用户保存对应的文件.
建议用户在新建工程之前最好关闭上一个建立的工程,否则会形成工程组.
如果在关闭工程的同时希望退出VB的运行,可使用"文件"菜单中的"退出"命令或单击VB窗口上的"关闭"按钮.
1.
5窗体窗体(Form)是设计VB应用程序的基本平台.
窗体本身又是一个对象,它有自己的属性、事件和方法,以便控制窗体的外观和行为.
窗体又是其他对象的载体或容器,几乎所有的控件都设计在窗体上.
通常应用程序是从窗体开始执行的.
每一个窗体对应于程序的一个窗口.
对于一个简单程序,一个窗体已经足够了,但对于一个复杂的程序,也许需要几个、十几个甚至几十个窗体.
1.
5.
1窗体的基本属性、事件、方法知识要点分析1.
窗体的常用属性窗体属性决定着窗体的外观和行为.
新建工程时,VB系统会自动建立一个空白窗体,并为该窗体设置默认属性.
属性的设置可在属性窗口中完成,有的也可在代码中设置.
以下介绍窗体的一些常用的属性.
(1)Name(名称)属性:指定窗体的名称.
在工程中首次创建窗体时默认为Form1,添加第二个窗体时,其默认名称为Form2,以此类推.
用户可在属性窗口的"名称"栏中设置窗体名,但在应用程序运行时,它是只读的,即不能在应用程序中修改.
(2)Caption(标题)属性:用于确定窗体的标题.
窗体使用的默认标题为Form1,Form2,….
(3)BackColor(背景颜色)和ForeColor(前景颜色)属性:这两个属性用于设置窗体的背景色和前景色.
(4)BorderStyle(边框类型)属性:用于设置窗体的边框风格.
共有6种属性,如0——None(无边框),1——FixedSingle(窗体大小不变且具有单线边框)等.
该属性只能在设计阶段设置.
(5)ControlBox(控制框)属性:设置窗体是否具有控制菜单.
默认值为True.
(6)MaxButton(最大化按钮)/MinButton(最小化按钮)属性:设置窗体是否具有最大化按钮和最小化按钮.
(7)WindowState(窗口状态)属性:设置窗体装载时的状态.
有3种属性值:0(默认)——正常状态;1——最小化状态;2——最大化状态.
(8)Picture(图形)属性:设置在窗体中显示的图形.
在属性窗口中单击该属性行右端的三点式按钮,打开一个"加载图片"对话框,可以从中选择一个合适的图形文件.
也可以在应用程序中使用以下语句格式来设置.
[对象.
]Picture=LoadPicture("文件名")其中,LoadPicture是一个装载图片函数.
(9)Font(字体)属性:设置在窗体中显示的正文文字的字体.
在属性窗口中单击该属性行右端的三点式按钮,打开一个"字体"对话框,从中选择相应的选项.
在代码窗口可以使用以下格式引用该对象的属性.
FontName:字体名称.
FontSize:字体大小(字号).
FontBold:是否粗体,设置值为True或False.
FontItalic:是否斜体,设置值为True或False.
FontStrikefhru:是否删除线,设置值为True或False.
FontUnderline:是否有加划线,设置值为True或False.
Fonttransparent:确定显示的信息是否与背景重叠,设置值为True(默认值)时,表示保留背景,使前景的文本或图形与背景重叠显示;当设置属性值为False时,背景将被前景的文本或图形覆盖.
(10)Visible(可见性)属性:设置窗体是否可见.
(11)AutoRedraw(自动重画)属性:设置在运行时调整窗体大小或被另一对象遮住后,重新显示时窗体是否重画.
(12)Icon(图标)属性:指定在窗体最小化时显示的图形.
(13)Left(左边位置)/Top(顶边位置)属性:设置窗体运行时距离屏幕左上角的位置(窗体布局窗口可见).
(14)Width(宽)/Height(高)属性:设置窗体的宽度和高度.
2.
窗体的事件窗体作为对象,能够对事件做出响应.
窗体事件过程的一般格式为:PrivateSubForm_事件名([参数表])(EndSub注意,在事件过程名中的窗体只能使用Form(如Form_Load),但在过程内容对窗体进行引用时必须用到窗体名字(如Form1.
Caption).
与窗体有关的常用事件有如下几种.
(1)Load(装载)事件:装载窗体时触发Load事件,如果这个事件过程Form_Load存在,便立即执行它.
启动应用程序时,自动装载和显示"启动窗体"(单个窗体通常就是启动窗体),在此期间会先后触发Load,Activate等事件.
在启动窗体显示之前触发Load事件.
对于未被装载的窗体,如果使用Load语句调用该窗体,或者在其他窗体中引用该窗体的控件,都会触发Load事件.
通常,窗体的Load事件过程是应用程序中第一个被执行的过程,常用来进行初始化处理.
(2)Unload(卸载)事件:卸载窗体时触发Unload事件.
单击窗体上的"关闭"按钮或使用Unload语句时可触发该事件.
(3)Activate(活动)/DeActivate(非活动)事件:当一个窗体变为活动窗体时触发Activate事件,当本窗体不再是活动窗体时触发DeActivate事件.
(4)Click(单击)和DblClick(双击)事件:鼠标单击和双击窗体时触发.
(5)Keypress(按键)事件:当按下键盘某个键时,将触发Keypress事件.
其事件的过程格式为PrivateSub对象_Keypress(KeyASCIIAsInteger)(EndSub其中参数KeyASCII返回所按键的ASCII码.
例如,按下A键,KeyASCII的值为65;按下a键,KeyASCII的值为97.
3.
窗体的方法在事件过程中,可能使用到的窗体的方法有:(1)Show方法:用于显示窗体,可将后台的窗体调到前台(此时将触发Activate事件).
如果调用Show方法时指定的窗体未被装载,则VB自动装载该窗体(此时将触发Activate事件和Load事件).
语法为:窗体对象名.
Show(2)Hide方法:用于隐藏窗体.
(3)Print方法:用于在窗体中显示文本.
(4)Cls方法:用于清除运行时在窗体上显示的文本或图形.
但不能清除在设计阶段设置的文本和图形.
(5)Move方法:用于移动并改变窗体或控件的位置和大小.
其格式为:[对象.
]MoveLeft[,Top[,Width[,Height]]]其中,Left和Top参数表示将要移动对象的目标位置的x,y坐标;Width和Height参数表示移动到目标位置后,对象的宽度和高度,以此改变对象的大小.
(6)Refresh方法:用于刷新窗体.
应用实例【实例1-2】设置窗体的初始属性为:背景为红色;窗体图标为任意一个VB的.
ico图标文件;窗体的最大化最小化按钮不可用;窗体的标题为"欢迎进入VB6.
0世界";设置窗体上显示的文本字体为"宋体"3号加粗;设置窗体启动时距离显示器左边距和上边距分别为10和20.
在窗体上添加名称为Command1和Command2的命令按钮,更改标题分别为"显示"和"清除".
编写适当的代码,程序运行时单击"显示"按钮,在窗体显示"对VB的初步认识",单击"清除"按钮,清除窗体上的文本.
程序的运行界面如图1-12所示.
设计步骤如下.
(1)设计程序界面.
新建一个工程,在Form1窗体中添加两个命令按钮.
(2)设置控件属性.
单击窗体的任意空白区域选中窗体,在属性窗口中设置窗体的BackColor属性为红色;通过Icon属性对话框在"C:\ProgramFiles\MicrosoftVisualStudio\Common\Graphics"目录下寻找需要的图标文件来设置窗体的图标;将MaxButton和MinButton属性值均设为false;将Caption属性设置为"欢迎进入VB6.
0世界";通过Font属性对话框设置字体为"宋体"3号加粗;将Left和Top属性值设为10和20.
单击选中第一个命令按钮Command1,设置其Caption属性为"显示";单击选中第二个命令按钮Command2,设置其Caption属性为"清除".
(3)编写程序代码.
打开代码窗口,在对象下拉列表框中分别选择Command1,Command2,在事件下拉列表框中选择Click事件,为两个命令按钮编写单击事件过程.
代码如下.
PrivateSubCommand1_Click()Print"对VB的初步认识"EndSubPrivateSubCommand2_Click()ClsEndSub1.
5.
2多窗体处理知识要点分析在前面的讨论中只涉及一个窗体,而在实际中特别是较为复杂的应用程序中,单一窗体往往不能满足应用需要,通常需要用到多个窗体(MultiForm).
在多窗体程序中,每个窗体可以有自己的界面和程序代码,完成不同的操作.
1.
添加窗体在多窗体程序中,要建立的界面由多个窗体组成.
要在当前工程中添加一个新的窗体,可以通过"工程"菜单中的"添加窗体"命令来实现.
每执行一次该命令,则建立一个新窗体.
这些窗体的默认名称为Form1,Form2,…2.
删除窗体要删除一个窗体,可按以下步骤进行.
在工程资源管理器窗口选定要删除的窗体.
选择"工程"菜单中的"移除"命令.
3.
保存窗体在工程资源管理器窗口中选定要保存的窗体,再选择"文件"菜单中的"保存"或"另存为"命令,即可保存当前窗体文件.
注意:工程中的每一个窗体都需要分别保存.
4.
设置启动窗体启动窗体是应用程序运行时第一个出现的窗体.
在单一窗体程序中,运行程序时会从这个窗体开始执行.
对于多窗体程序,默认情况下,应用程序会把设计阶段建立的第一个窗体作为启动,其他窗体必须通过Show等方法才能看到.
如果要设置其他窗体为启动窗体,可以采用以下操作.
(1)从"工程"菜单中选择"工程属性"命令,打开"工程属性"对话框.
(2)选择"通用"选项卡,在"启动对象"列表框中选取要作为启动窗体的窗体.
(3)单击"确定"按钮.
5.
窗体处理前面介绍的窗体的属性和方法,同样适用于多窗体程序设计.
在多窗体程序中,需要在多个窗体间切换,即需要打开、关闭、隐藏或显示指定的窗体,这些都可以通过相应的语句及方法来实现.
除了前面介绍的方法外,还有一些常用的语句如下.
1)装载语句Load装载语句的语法为:Load对象名功能为:将窗体或控件载入内存,但不显示.
装载窗体时,先完成窗体的初始化,即将窗体属性设置为初始值(在属性窗口设置或Initialize事件中提前设置),然后再进行装载.
使用Load语句将触发窗体的Load事件.
执行Load语句后,可以引用窗体中的控件及各种属性.
例如:LoadForm1'加载窗体Form12)卸载语句Unload卸载语句完成的是装载语句的逆过程,语法为:Unload对象名功能为:从内存中卸载指定的窗体或控件.
例如:UnloadForm2'卸载窗体Form2UnloadMe'卸载当前窗体其中,Me是系统关键字,用来代表当前窗体.
如果卸载的窗体是程序中唯一的窗体,将终止程序的执行.
使用Unload语句将触发对象的Unload事件.
应用实例【实例1-3】设计一个程序,该程序包含两个窗体,第一个窗体为启动窗体,两个窗体的界面如图1-13、图1-14所示,当单击第一个窗体上的按钮"显示"时,显示第二个窗体,隐藏第一个窗体,当单击第二个窗体上的按钮"返回"时,隐藏第二个窗体,重新显示第一个窗体.
图1-13实例1-3启动窗体图1-14实例1-3第二个窗体设计步骤如下.
(1)设计程序界面.
新建一个工程,在Form1窗体中添加命令按钮Command1,使用"工程"菜单中的"添加窗体"命令添加一个新的窗体,窗体名自动为Form2,在Form2中添加一个命令按钮Command1.
(2)设置控件属性.
单击选中Form1窗体,通过属性窗口将Form1和Command1的Caption的属性分别设置为"启动窗体"和"显示".
单击选中Form2窗体,通过属性窗口将Form2和Command1的Caption的属性分别设置为"第二个窗体"和"返回".
(3)编写程序代码.
单击选中Form1,打开代码窗口,编写代码:PrivateSubCommand1_Click()Form1.
HideForm2.
ShowEndSub单击选中Form2,打开代码窗口,编写代码:PrivateSubCommand1_Click()Form2.
HideForm1.
ShowEndSub(4)保存工程.
执行"文件"菜单的"保存工程"命令,对两个窗体模块和工程分别进行保存.
1.
5.
3MDI窗体知识要点分析在Windows中的应用程序具有多种多样的窗口界面,总的看来有三种形式:单文档界面(SingleDocumentInterface,SDI)、多文档界面(MuchDocumentInterface,MDI)和资源管理器界面.
VB支持这三种分割的文档界面.
单文档界面(SDI)是指在应用程序中,每次只能打开一个文档,如果想要打开新的文档,则必须关闭当前文档.
这种风格的窗体不能包含子窗体.
例如记事本和写字板.
多文档界面(MDI)是指在应用程序中可同时打开多个文档,每个文档都显示在自己的窗口中,包含文档的子窗体被放置在父窗体中,父窗体为应用程序中所有的子窗体提供工作空间.
子窗体为文档窗体,实际上是MDIChild属性设置为True的普通窗体.
一个应用程序可包含多个相似或不相似的MDI子窗体.
在运行时,子窗体显示在MDI父窗体的工作区当中.
当子窗体最小化时,其图标显示在MDI窗体的工作区中,而不是任务栏中.
创建MDI窗体的方法为:使用"工程"菜单中的"添加MDI窗体"子菜单,将会弹出"添加MDI窗体"对话框,选择"新建"选项卡中的"MDI窗体"选项,单击"打开"按钮,即可完成MDI窗体的添加.
此后,程序员可根据需要使用属性窗口对MDI的外观和其他属性进行设置.
值得注意的是,在任何时候,一个应用程序只能有一个MDI窗体,它与普通窗体不同,除非控件具有Align属性(如PictureBox)或具有不可见界面(如Timer),否则不能将控件直接放置在MDI窗体上.
当加载子窗体时,其父窗体(MDI窗体)自动加载,而加载MDI窗体时,子窗体则不会自动加载,子窗体的加载只能以命令和命令的快捷方式来加载.
不能把MDI子窗体或MDI窗体显示为模式窗体.
应用实例【实例1-4】设计一个程序,该程序包含两个窗体Form1和MDIform1,将Form1设置为MDI窗体的子窗体,如图1-15所示.
编写适当的代码,在程序运行时,当单击Form1中的按钮"改变MDI窗体标题"时,MDIform1的标题改变为"MDI窗体",如图1-16所示.
设计步骤如下.
(1)设计程序界面.
新建一个工程,在Form1窗体中添加命令按钮Command1;使用"工程"菜单中的"添加MDI窗体"子菜单,在弹出的"添加MDI窗体"对话框中选择"新建"选项卡中的"MDI窗体"选项,单击"打开"按钮,添加MDI窗体MDIform1.
(2)设置控件属性.
通过属性窗口将Form1中Command1的Caption的属性设置为"改变MDI窗体标题",将MDIChild属性设置为True.
图1-15实例1-4运行界面1图1-16实例1-4运行界面2(3)编写程序代码.
单击选中Form1,打开代码窗口,编写代码:PrivateSubCommand1_Click()MDIForm1.
Caption="MDI窗体"EndSub(4)保存工程.
执行"文件"菜单的"保存工程"命令,对窗体Form1、MDI窗体MDIform1和工程分别进行保存.
本章小结本章对VB6.
0的安装、启动、退出、系统集成开发环境界面及VB常用术语做了简要的介绍,并通过简单的例子描述了VB应用程序的设计步骤;对设计VB应用程序的基本平台窗体(Form)做了详细的介绍,为后续内容的学习打下了基础.
RAKsmart怎么样?RAKsmart发布了2021年中促销,促销时间,7月1日~7月31日!,具体促销优惠整理如下:1)美国西海岸的圣何塞、洛杉矶独立物理服务器低至$30/月(续费不涨价)!2)中国香港大带宽物理机,新品热卖!!!,$269.23 美元/月,3)站群服务器、香港站群、日本站群、美国站群,低至177美元/月,4)美国圣何塞,洛杉矶10G口服务器,不限流量,惊爆价:$999.00,...
ucloud6.18推出全球大促活动,针对新老用户(个人/企业)提供云服务器促销产品,其中最低配快杰云服务器月付5元起,中国香港快杰型云服务器月付13元起,最高可购3年,有AMD/Intel系列。当然这都是针对新用户的优惠。注意,UCloud全球有31个数据中心,29条专线,覆盖五大洲,基本上你想要的都能找到。注意:以上ucloud 618优惠都是新用户专享,老用户就随便看看!点击进入:uclou...
BuyVM针对中国客户推出了China Special - STREAM RYZEN VPS主机,带Streaming Optimized IP,帮你解锁多平台流媒体,适用于对于海外流媒体有需求的客户,主机开设在拉斯维加斯机房,AMD Ryzen+NVMe磁盘,支持Linux或者Windows操作系统,IPv4+IPv6,1Gbps不限流量,最低月付5加元起,比美元更低一些,现在汇率1加元=0.7...