版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主 编 :陈庆章,Visual Basic,前 言,Visual Basic是目前进行Windows应用程序设计的最佳工具之一,也是最佳的程序设计入门语言,这一看法已经得到普遍认可。 非计算机专业计算机基础教学的3个不同层次,分别解决的是“操作技能”、“思维训练”、“综合应用能力”问题。学习一门程序设计语言,主要目的是要提高读者分析归纳、解决问题的能力,在思维训练方面受益,并使得读者通过更系统、深入的学习后开发实用程序成为可能。 因此,本书在内容上精选了Visual Basic 6.0中最基础、最常用并实用的部分;在编排和风格上力图体现循序渐进、深入浅出的特点;以样本程序示例教学,阶段性构筑读
2、者的成就感,使得艰苦的程序设计工作升华为一种艺术创作,提供了一条通往程序设计高手的捷径。,前 言,本书的编写得到了浙江省高校计算机教学研究会的大力支持。本书共分9章,第1、第7章由浙江科技学院的罗朝盛教授编写,第2、第3、第4、第6章由浙江工业大学的胡同森副教授编写,第5章由浙江理工大学的庄红副教授编写,第8章由胡同森和浙江师范大学的朱建新编写,第9章由杭州电子科技大学的郭艳华副教授编写。附录部分包括ASCII字符集、Visual Basic常用系统函数、Visual Basic常用属性、Visual Basic常用事件、Visual Basic常用方法以及部分对象能使用的常用方法,为大家使用
3、Visual Basic进行程序设计提供查找资料的方便。全书由浙江工业大学陈庆章担任主编,由胡同森统稿。,前 言,另外,与本教材配套使用的另一本教学或自学参考书Visual Basic学习及实践指导将在2005年春季前出书。书中将有本教材习题的参考答案和Visual Basic学习及实践指导中附加习题的参考答案。此书是教师教学、学生或读者自学非常实用的辅助参考书。 希望所有读者和从事计算机基础教学的各位同仁,对本书多提宝贵意见,使其逐步完善。在此,预致我们深深的谢意。 本书编委会 2004年7月,编委会名单,主 任:方永平 副主任:胡维华 委 员 (以姓氏笔画为序) 陈庆章 何钦铭 项小仙 赵
4、建民 俞瑞钊 蒋联海 雷 炜 楼程富 主 编 :陈庆章 编著者 :胡同森 罗朝盛 庄 红 郭艳华 朱建新,目 录,第1章 Visual Basic 6.0程序设计概述 第2章 程序设计基础 第3章 结构化程序设计与数组 第4章 函数与过程 第5章 常用控件 第6章 图形控件和图形方法 第7章 对话框和菜单程序设计 第8章 文 件 第9章 数据库与数据访问技术,第1章 Visual Basic 6.0程序设计概述,1.1 Visual Basic简介 1.2 Visual Basic 6.0可视化编程环境 1.3 Visual Basic中的基本概念 1.4 窗 体 1.5 Visual Bas
5、ic程序的组成及工作方式 1.6 一个简单的Visual Basic程序的创建实例 1.7 小 结,1.1.1 Visual Basic的发展过程,Basic(Beginners All-Purpose Symbol Instruction Code初学者通用指令代码)语言,是早期微型计算机中广泛使用的计算机程序设计高级语言。Visual Basic在原有Basic语言的基础上进一步发展,综合了Basic语言和Windows操作系统的优点,把它们融合在一起,为初学者在Windows环境下编写应用程序提供了良好的开发环境。“Visual”的原意是指“可视的”或“看得见的”,是为用户开发图形用户界
6、面(GUI)提供的一种方法。用户不需要编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象加到屏幕上的适当位置,再进行简单的设置即可。,1.1.1 Visual Basic的发展过程,1991年,微软公司推出了Visual Basic1.0版,这在当时引起了很大的轰动。许多专家把Visual Basic的出现当作是软件开发史上的一个具有划时代意义的事件。其实,现在看来,Visual Basic1.0的功能实在是太弱了。但在当时,它是第一个“可视”的编程软件。 1992年初,发布Visual Basic Professional Toolkit,其中包含了一组由微软公司和其他公司开发的
7、自定义控件。这时,面向对象和复用性开始成为软件开发中的重要概念。同年,又发布了Microsoft Visual Basic 2.0,其中包含了变体数据类型、预定义True、False常量和对象变量。 1993年,Visual Basic 3.0的推出,新增了标准数据控件,带有Jet 1.1版本的数据库引擎。 1995年,微软公司又推出了Visual Basic 4.0。该版本不但大量改写了原来的Visual Basic,还加入了OLE技术并能够生成对象;同时还支持32位自定义控件OCX,并可从Visual Basic应用程序中访问其他软件环境下生成的数据,如Microsoft Word、Mic
8、rosoft Excel等。,1.1.1 Visual Basic的发展过程,1997年,微软公司推出了Visual Basic 5.0,它支持Microsoft COM标准,可以生成ActiveX控件,并有明显创新,开发人员可以用Visual Basic生成自己的自定义控件和DLL。 1998年,微软公司又推出了Visual Basic 6.0。较以前版本而言,其功能和性能都大大增强了,它还提供了新的、灵巧的数据库和Web开发工具,如增加了新的SQL Server交互方法,包括数据库的访问,使用数据库的新工具和控件等。,1.1.1 Visual Basic的发展过程,Visual Basic
9、 5.0/6.0有3种版本,分别为学习版、专业版和企业版。 学习版:它是最基本的版本,允许编写许多类型的程序,与其他版本相比,所带工具较少。 专业版:为专业人员而设计,它不仅包含了学习版的全部内容,还包含了许多其他功能,如具有创建ActiveX控件和ActiveX文档的能力;提供Internet开发功能,具有更多使用数据库的工具。 企业版:这是Visual Basic 6.0最完善的版本,该版本主要用于开发企业级分布式应用程序,它包含了许多附加工具,提供了完全集成SQL Server的所有工具。 这3个版本是在相同的基础上建立起来的,以满足不同层次用户的需要。对大多数用户来说,专业版就可以满足
10、要求。本书使用的是Visual Basic 6.0的企业版(中文),书中介绍的内容尽量做到与版本无关。,1.1.2 Visual Basic的特点,Visual Basic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,能用于Windows环境下的各种应用软件的开发,是目前较为流行的应用软件开发平台,具有许多明显的特点与优点,现归纳如下: 1提供了面向对象的可视化编程工具 Visual Basic采用的是面向对象的程序设计方法(OOP),它把程序和数据封装在一起而视作为一个对象。Visual Basic提供了可视化的设计工具,把Windows界面设计的复杂性“隐藏”起来,开
11、发人员只需按设计要求,用系统提供的工具,在屏幕上画出各种对象,并设置这些对象的属性,这样就可以在屏幕上“画”出所需的用户界面,不必为界面设计而编写大量的程序代码,因而大大提高程序设计的效率。,1.1.2 Visual Basic的特点,2事件驱动的编程方式 传统的程序设计是一种面向过程的方式,程序总是按事先设计好的流程运行,用户不能随意改变、控制程序的流向。在Visual Basic中,用户的动作事件控制着程序的流向,每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,而各个动作之间不一定有联系,这样的应用程序代码一般比较短,所以程序易于编写与维护。 3结构化的程序设计语言 Vi
12、sual Basic具有丰富的数据类型和结构化程序结构,其特点是: (1) 增强了数值和字符串处理功能,比传统的Basic语言有许多的改进。 (2) 提供了丰富的图形及动画指令,可方便地绘制各种图形。 (3) 提供了定长和动态(变长)数组,有利于简化内存管理。 (4) 增加了递归过程调用,使程序更为简练。 (5) 提供了一个可供应用程序调用的包含多种类型的图标库。 (6) 具有完善的调试、运行出错处理。,1.1.2 Visual Basic的特点,4提供了易学易用的应用程序集成开发环境 在Visual Basic的集成开发环境中,用户可设计界面、编写代码、调试程序,直至将应用程序编译成可执行文
13、件在Windows上运行,使用户在友好的开发环境中工作。 5支持多种数据库系统的访问 利用Visual Basic的数据控件,可访问Microsoft Access、Dbase、Microsoft FoxPro、Paradox等,也可以访问Microsoft Excel、Lotusl 1-2-3等多种电子表格。,1.1.2 Visual Basic的特点,6支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE) 动态数据交换是Microsoft Windows除了剪贴板和动态链接函数库以外,在Windows内部交换数据的第三种方式。利用这项技术可在Visual Basic
14、开发的应用程序与其他Windows应用程序之间建立数据通信。动态链接库中存放了所有Windows应用程序可以共享的代码和资源,这些代码或函数可以用多种语言写成。Visual Basic利用这项技术可以调用几乎任何语言产生的DLL,也可以调用Windows应用程序接口(API)函数,以实现SDK所能实现的功能。 7完备的Help联机帮助功能 与Windows环境下的其他软件一样,在Visual Basic中,利用帮助菜单和功能键,用户可随时方便地得到所需的帮助信息。Visual Basic帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获得大量的示例代码,为用户的学习和使用提供了极大的方便。
15、,1.1.3 Visual Basic 6.0的新特性,Visual Basic 6.0与以前的版本不同,它是Visual Studio家族的一个组件,保留了Visual Basic 5.0的优点,如在开发环境上的改进,增加了工作组,在代码编辑器中提供了控件属性方法的自动提示,能编译生成本机代码,大大提高程序的执行速度等。同时,Visual Basic 6.0在数据访问技术、Internet技术及智能化向导方面都有了许多新的特性。下面对Visual Basic 6.0的新特性作一个简单的概括。 1数据访问的新特性 Visual Basic 6.0在数据访问技术方面比Visual Basic 5
16、.0有了很大的增强,首先,它采用了一种新的数据访问技术ADO(Active Data Object),使之能更好地访问本地和远程的数据库。其次,在数据环境方面,允许程序员可视化地创建和操作ADO连接及命令,为程序员操纵数据源提供了很大的方便。另外,增加了ADO控件和集成的可视化数据库工具。,1.1.3 Visual Basic 6.0的新特性,2Internet功能的增强 Internet是当今发展的潮流,Visual Basic 6.0在Internet方面的增强使得它已成为当前最强有力的开发工具之一。 (1) IIS程序设计:用Visual Basic 6.0的专业版和企业版可直接创建II
17、S应用程序,响应用户的要求。 (2) DHTML的设计:利用Visual Basic 6.0,程序员可直接通过Visual Basic代码来实现动态网页的设计。 (3) Internet Explorer 4.x对下载ActiveX文档的支持。 3控件、语言和向导方面的新增特性 (1) DataGrid、DataList、DataCombo等新增的数据控件:相当于Data Base(简称DB)版本的DBGrid、OLEDBList和DBCombo,所不同的是它们都支持新的ADO控件。 (2) 可以创建自己的数据源和数据绑定对象。 (3) 函数可以将数组作为返回值,并且可以为可变大小的数组赋值。
18、 (4) 新增了安装向导、数据对象向导、数据窗体向导以及应用程序向导。这些新增的向导,可以使开发人员设计出更优秀的应用程序。,1.1.3 Visual Basic 6.0的新特性,4高度可移植化的代码 代码的可移植性是面向对象编程的一个重要特点。Visual Basic 6.0集成了Visual Component Manager(简称VCM,中文含义为可视化组件管理器)和Visual Modeler(可视化模块设计器)。通过VCM,可以在Visual Basic的工程中方便地组织、查找、插入各种窗体、模板、类模块,甚至整个工程,为代码的重新利用提供了很大的方便。而Visual Modeler
19、则可以将设计器和组件转化成Visual C+或Visual Basic的代码,它与VCM结合可以将Visual Basic中写的类,在其他工程甚至Visual C+的工程中使用。 5创建ActiveX控件更加轻松方便 用Visual Basic 6.0创建的ActiveX控件,其外观和行为均和用C语言编写的控件一样,可以用在Visual C+、Visual Basic、Delphi,甚至Word和Access中。 6在线帮助更加完善 Visual Basic 6.0有两张光盘的文档资料,里边包括Visual Basic 6.0程序员设计手册、全文搜索索引、Visual Basic文档以及Vis
20、ual Basic程序样例等。,1.2.1 Visual Basic 6.0的集成开发环境主窗口,Visual Basic 6.0集成开发环境(IDE),提供了整套工具,方便用户开发应用程序。它在一个公共环境里集成了许多不同的功能,例如设计、编辑、编译和调试。下面介绍Visual Basic 6.0的集成开发环境。 当启动Visual Basic 6.0时,可以见到如图1-1所示的窗口,其中会提示选择要建立的工程类型。,图1-1 Visual Basic 6.0中可以建立的工程类型,1.2.1 Visual Basic 6.0的集成开发环境主窗口,使用Visual Basic 6.0可以生成下
21、列13种类型的应用程序(图中仅看到10种,通过滚动条可看到另外3种): 在图1-1的窗口中有3个选项卡: (1) 新建:这个选项卡中列出了11种可生成的工程类型。 (2) 现存:这个选项卡中列出了可以选择和打开的现有工程。 (3) 最新:这个选项卡中列出了最近使用过的工程,用户可以选择和打开一个需要的工程。 当选择“新建”选项卡中的“标准EXE”图标并单击“打开”按钮,可以打开如图1-2所示的Visual Basic集成开发环境窗口。,1.2.1 Visual Basic 6.0的集成开发环境主窗口,图1-2 Visual Basic 6.0集成开发环境,1.2.1 Visual Basic
22、6.0的集成开发环境主窗口,需要说明的是正常启动时,可能见不到图1-2中的“立即”窗口。在Visual Basic集成环境中的其他类似窗口,都可以通过“视图”菜单中的相应命令来打开和关闭。 1标题栏 标题栏位于主窗口最上面的一行,如图1-3所示。标题栏中间显示窗口标题及工作模式,Visual Basic有3种工作模式:设计(Design)模式、运行(Run)模式和中断(Break)模式。启动时它显示“工程1-Microsoft Visual Basic设计”,表示它处于程序设计模式。 (1) 设计模式:可进行用户界面的设计和代码的编制,以完成应用程序的开发,如图1-2所示。 (2) 运行模式:
23、运行应用程序,这时不可编辑代码,也不可编辑界面。此时,标题栏中的标题为:“工程1 Microsoft Visual Basic 运行”。 (3) 中断模式:应用程序运行暂时中断,这时可以编辑代码,但不可编辑界面。此时,标题栏中的标题为:“工程1 Microsoft Visual asic break”。按F5键或单击工具栏的“继续”按钮 ,程序继续运行;单击“结束”按钮 ,程序停止运行。,1.2.1 Visual Basic 6.0的集成开发环境主窗口,2菜单栏 Visual Basic集成开发环境的菜单栏中包含使用Visual Basic所需要的命令。它除了提供标准“文件”、“编辑”、“视图
24、”、“窗口”和“帮助”菜单之外,还提供了编程专用的功能菜单,如“工程”、“格式”、“调试”、“外接程序”等菜单,总共13项菜单,如图1-3所示。,图1-3 Visual Basic 6.0集成开发环境的主窗口,1.2.1 Visual Basic 6.0的集成开发环境主窗口,Visual Basic 6.0集成开发环境中的基本菜单有:(1) 文件:包含打开和保存工程以及生成可执行文件的命令。(2) 编辑:包含编辑命令和其他一些格式化、编辑代码的命令,以及其他编辑功能命令。(3) 视图:包含显示和隐藏IDE元素的命令。(4) 工程:包含在工程中添加构件、引用Windows对象和工具箱新工具的命令
25、。(5) 格式:包含对齐窗体控件的命令。(6) 调试:包含一些通用的调试命令。(7) 运行:包含启动、设置断点和终止当前应用程序运行的命令。(8) 查询:包含操作数据库表时的查询命令以及其他数据访问命令。(9) 图表:包含操作Visual Basic工程时的图表处理命令。(10) 工具:包含建立ActiveX控件时需要的工具命令,并可以启动菜单编辑器以及配置环境选项。(11) 外接程序:包含可以随意增删的外接程序。缺省时这个菜单中只有“可视化数据管理器”选项。通过“外接程序管理器”命令可以增删外接程序。(12) 窗口:包含屏幕窗口布局命令。(13) 帮助:提供相关帮助信息。,1.2.1 Vis
26、ual Basic 6.0的集成开发环境主窗口,3工具栏 工具栏在编程环境下提供对于常用命令的快速访问。单击工具栏上的按钮,即可执行该按钮所代表的操作。在缺省模式下,启动Visual Basic之后将显示“标准”工具栏。其他工具栏,如“编辑”、“窗体设计”和“调试”工具栏可以从“视图”菜单中的“工具栏”命令中移进或移出。工具栏紧贴在菜单栏下方,或以垂直条状紧贴在左边框上,如图1-3所示。如果用鼠标将工具栏从某栏下面移开,则它能“悬”在窗口中。一般情况下,工具栏在菜单栏的正下方。,1.2.2 窗体设计窗口,“窗体设计窗口”也称为对象窗口。Windows的应用程序运行后都会打开一个窗口,窗体设计窗
27、口是应用程序最终面向用户的窗口,是屏幕中央的主窗口。通过在窗体中添加控件并设置相应的属性来完成应用程序界面的设计。每个窗口必须有一个窗体名字,系统启动后就会自动创建一个窗体(缺省名为Form1),用户可通过“工程/添加窗体”来创建新窗体或将已有的窗体添加到工程中。每个窗体保存后都有一个窗体文件名(扩展名为.Frm)。应注意窗体名即窗体的“Name”属性和窗体文件名的区别。,1.2.3 工具箱,系统启动后缺省的General工具箱就会出现在屏幕左边,其中每个图标表示一种控件,共有20个常用“部件”(即控件),如图1-4所示。,指针(选择对象) 图片框(PictureBox) 标签(Label)
28、文本框(TextBox) 框架(Frame) 命令按钮(CommandButton) 复选框(CheckBox) 单选按钮(OptionButton) 组合框(ComboBox) 列表框(ListBox) 水平滚动条(HscrollBar) 垂直滚动条(VscrollBar) 定时器(Timer) 驱动器列表框(DriveListBox) 目录列表框(DirListBox) 文件列表框(FileListBox) 形状(Shape) 画线(Line) 图像框(Image) 数据库(Data),图1-4 Visual Basic工具箱中的常用控件类型,1.2.3 工具箱,用户可以将不在工具箱中的其
29、他ActiveX控件放到工具箱中。通过“工程”菜单中的“部件”命令或从“工具箱”快捷菜单中选定“部件”选项卡,就会显示系统安装的所有ActiveX控件清单。要将某控件加入到当前选项卡中,需单击要选定控件前面的方框,如图1-5所示,然后单击“确定”按钮,选定的ActiveX控件就会添加到工具栏中。,图1-5 “部件”对话框,1.2.4 工程资源管理器,工程是指用于创建一个应用程序的文件的集合。工程资源管理器列出了当前工程中的窗体和模块,如图1-6所示。 在工程资源管理器窗口中有3个按钮,分别表示“查看代码”、“查看对象”和“切换文件夹”。 (1) 单击“查看代码”按钮,可打开“代码编辑器”查看代
30、码。 (2) 单击“查看对象”按钮,可打开“窗体设计器”查看正在设计的窗体。 (3) 单击“切换文件夹”按钮,则可以隐藏或显示包含在对象文件夹中个别项目列表。,1.2.4 工程资源管理器,图1-6 工程资源管理器 图1-7 属性设置窗口,1.2.5 属性窗口,属性是指对象的特征,如大小、标题或颜色等数据。在Visual Basic 6.0设计模式中,属性窗口列出了当前选定窗体或控件的属性及其值,用户可以对这些属性值进行设置。例如,要设置Command1命令按钮上显示的字符串,可以找到属性窗口的“Caption”属性,输入“开始”之类的字符串,如图1-7所示。,1.2.6 窗体布局窗口,窗体布局
31、窗口显示在屏幕右下角。用户可使用表示屏幕的小图像来布置应用程序中各窗体相对于主窗体的位置。图1-8显示了桌面上两个窗体放置及其相对位置。右键单击小屏幕,弹出快捷菜单,可通过该快捷菜单来对窗体启动位置进行设计,如要设计窗体Form1启动位置居屏幕中心,其操作如图1-9所示。,图1-8 窗体布局窗口 图1-9 设计窗体启动位置,1.2.7 代码编辑窗口,在设计模式中,通过双击窗体或窗体上的任何对象或单击“工程资源管理器”窗口中的“查看代码”按钮都可打开代码编辑器窗口。代码编辑器是输入应用程序代码的编辑器,应用程序的每个窗体或标准模块都有一个单独的代码编辑器窗口,如图1-10所示。,图1-10 代码
32、编辑器窗口,1.2.8 立即窗口,例如: (1) 在立即窗口中使用赋值符给变量赋值。即输入: X= 3.14:Y=2:Z=30:P=True: K=False (2) 使用“?表达式”或“Print表达式”输出其表达式的值。操作如下: ? X+Y 5.14 输出结果 Print Int(X)+Y/2 4 输出结果 ? Not P Or K And P Or YZ False 输出结果,1.2.8 立即窗口,在Visual Basic集成环境中,运行“视图/立即窗口”命令或按Ctrl+G组合键即可打开如图1-11所示的窗口。 “立即”窗口是Visual Basic所提供的一个系统对象,称为Deb
33、ug对象,作为调试程序使用。它只有方法,不具备任何事件和属性。通常使用是Print方法,使用格式为: Debug.print输出项列表 例如:Debug.print “VB程序设计” 运行后在立即窗口输出: VB程序设计 在设计状态可以在立即窗口中进行一些简单的命令操作,如变量赋值,用“?”或Print(两者等价)输出一些表达式的值。,图1-11 立即窗口,1.2.8 立即窗口,操作结果如图1-12所示。 此外,Visual Basic 6.0中还有2个非常有用的附加窗口:“本地”和“监视”窗口,它们都是为调试应用程序提供的,本地窗口和监视窗口只在运行工作模式下才有效。,图1-12 在“立即”
34、窗口中的操作实例,1.3.1 可视化编程,传统的编程方法使用的是面向过程、按顺序进行的机制,其缺点是程序员始终要关心什么时候发生什么事情,处理Windows环境下事件驱动方式的工作量太大。 Visual Basic采用的是面向对象、事件驱动的编程机制。程序员只需编写响应用户动作的程序,如移动鼠标、单击鼠标等,编写代码相对较少。 Visual Basic使用的可视化编程方法,是面向对象编程技术的简化版。Visual Basic提供多种控件支持可视化编程,利用它们可以快速创建强大的应用程序而不需涉及不必要的细节。 在Visual Basic环境中,程序员不仅可以利用控件来创建对象,而且还可以建立自
35、己的控件,这是Windows环境下编程的新概念。,1.3.2 对象与类,1对 象 对象(Object)是代码和数据的集合。可以把对象看成日常生活中的各种物体,如一支钢笔、一辆汽车、一台电脑都是一个对象。一台电脑又可以拆分为主板、CPU、内存、外设等部件,这些部件又都分别是一个对象,因此电脑对象可以说是由多个“子”对象组成的,它可以称为是一个对象容器(Container)。 在Visual Basic 6.0中,对象可以由系统设置好,直接供用户使用,也可以由程序员自己设计。Visual Basic设计好的对象有:窗体、各种控件、菜单、屏幕、剪贴板等。用户使用最多的是窗体和控件。,1.3.2 对象
36、与类,2类 类是同一种对象的统称,是一个抽象的整体概念,也是创建对象实例的模板,而对象则是类的实例化。属于同一类的所有对象具有同一组属性、方法与事件,只是其属性值不同,对事件的响应不同(取决于程序员的编程)。 譬如,汽车是一个笼统的名称,是整体概念,我们把汽车看成一个“类”,一辆辆具体的汽车(比如你的汽车、我的汽车)就是这个类的实例,也就是属于这个类的对象。 Visual Basic中工具箱上的控件是类,画在窗体中的各控件则是类的事例化,即是对象。,1.3.3 属 性,属性是对象的性质,对象中的数据就保存在属性中。属性是用来描述和反映对象特征的参数。每一种对象都有其属性,属性值决定了对象的外观
37、和行为。例如,“控件名称”(Name)、“颜色”(Color)及“是否可见”(Visible)等属性决定了对象展现给用户的界面具有什么样的外观及功能。不同的对象具有的属性不尽相同,如命令按钮有“Caption”属性而无“Text”属性,文本框无“Caption”属性而有“Text”属性。 控件属性的设置一般有两条途径: (1) 如果在界面设计时设置对象的属性,需要使用属性窗口。这时只要在属性窗口中选中要修改的属性,然后在右列中键入新的值即可设置对象的属性。 如标签、文本框、列表框、图片框控件的字体、颜色等属性。 (2) 如果要在程序运行中动态地更改对象的属性,可以使用Visual Basic的
38、赋值语句,在代码窗口中通过编程设置,其格式为: 对象名.属性名 = 属性值 其中“对象名.属性名”是Visual Basic中引用对象属性的方法,如下述代码可以设置标签控件Label1的标题为“第一个应用程序”: Label1.Caption = 第一个应用程序,1.3.4 方 法,方法是面向对象程序设计语言为编程者提供的用来完成特定操作的过程和函数。在Visual Basic中已将一些通用的过程和函数编写好并封装起来,作为方法供用户直接调用,这给用户的编程带来了极大的方便。因为方法是面向对象的,所以在调用时一般要指明对象。对象方法的调用格式为: 对象.方法参数名表 其中,若省略了对象,表示是
39、当前对象,一般指窗体。 例如:在窗体Form1上打印输出“Visual Basic程序设计” 可使用窗体的Print方法 Form1.Print Visual Basic程序设计 若当前窗体是Form1,则可写为: Print Visual Basic程序设计,1.3.5 对象事件与事件过程,1事件 事件是Visual Basic预先定义的、对象能够识别的动作。 每个控件都可以对一个或多个事件进行识别和响应,如窗体加载事件(Load)、鼠标单击事件(Click)、鼠标双击事件(DblClick)等。事件是一种预先定义好的特定动作,由用户或系统激活,在多数情况下,事件是通过用户的交互操作产生的。
40、 例如,窗体上有一个名为“CmdOK”的命令按钮对象,当鼠标指针被移动时,系统将跟踪鼠标指针的位置,当鼠标在该对象上单击一下,系统就给鼠标指针所指向的对象发送一个Click事件,如果该事件已编写了程序代码,系统则执行过程的程序代码,执行结束后,控制权交还给系统,并等待下一个事件。,1.3.5 对象事件与事件过程,2事件过程 事件过程是用来完成事件发生后所要执行的操作。 当一个对象察觉到某一事件发生时(如Click等),就会对事件产生响应,即执行一段程序代码,所执行的这段程序代码就称为事件过程。 对于窗体对象,其事件过程的形式如下: Sub Form_事件过程名(参数列表) (事件过程代码) E
41、nd Sub 对于除窗体以外的对象,其事件过程的形式如下: Sub 对象名_事件过程名(参数列表) (事件过程代码) End Sub 例如,单击名为cmdOk命令按钮,使命令按钮变为不可见,则对应的事件过程如下: Sub cmdOK_Click( ) Cmd0k.Visible=False End Sub,1.4.1 窗体的结构,同Windows环境下的应用程序窗口一样,Visual Basic中的窗体也具有控制菜单、标题栏、“最大化”按钮、“最小化”按钮、“关闭”按钮以及边框等,如图1-13所示。 窗体的操作与Windows下的窗口操作一样。通过鼠标左键拖动标题栏可以移动窗体;鼠标对准窗体边
42、框,当出现双向箭头时拖动鼠标可以改变窗体的大小。 建立新窗体后,它的大小、背景颜色、标题及窗体名称等特征需要根据应用程序的要求进行设置。,1.4.1 窗体的结构,图1-13 窗体的结构,“最小化”按钮,“最大化”按钮,“关闭”按钮,图标,控 制 菜单框,边框样式,标题,1.4.2 窗体的属性,窗体的基本属性有:Name、Left、Top、Height、Width、Visible、Enabled、Font、ForeColor、BackColor等。在Visual Basic中的大多数控件基本上都有这些属性,在以后介绍其他对象时,这些属性还将详细介绍。 1Name属性 Visual Basic中任
43、何对象都有Name属性,在程序代码中通过该属性来引用、操作具体的对象。首次在工程中添加窗体时,该窗体的名称被缺省为Form1;添加第二个窗体,其名称被缺省为Form2,依此类推。最好给Name属性设置一个有实际意义的名称,如给一个程序的主控窗体命名为“MainFrm”。这样在程序代码中的意义就很清楚,程序的可读性就好。,1.4.2 窗体的属性,2Left、Top属性 窗体运行在屏幕中,屏幕是窗体的容器,因此窗体的Left、Top属性值是相对屏幕左上角的坐标值。对于控件,Left、Top属性值则是相对“容器”左上角的坐标值,其缺省单位是twip。 1twip=1/20点=1/1440in=1/5
44、67cm 3Height、Width属性 返回或设置对象的高度和宽度。对于窗体,指的是窗口的高度和宽度,包括边框和标题栏。对于控件,这些属性使用控件所在“容器”的度量单位。 图1-14是屏幕(Screen)、窗体(Form1)和命令按钮(Ok)的Left、Top、Height、Width属性表示,读者要注意Left、Top属性值是相对“容器”左上角的坐标值。在Visual Basic中除了用屏幕、窗体作“容器”外,还有框架和图片框对象可作“容器”。,1.4.2 窗体的属性,图1-14 对象的Left、Top 、Height、Width属性,1.4.2 窗体的属性,例1-1 在窗体Form1被加
45、载时,将其大小设置为屏幕大小的1/2,并居中显示。通过窗体的Load事件来实现的程序代码为: Private Sub Form_Load () Form1.Width = Screen.Width/2 设置窗体的宽度,Screen为屏幕对象 Form1.Height = Screen.Height/2 设置窗体的高度。 在水平方向上居中显示。 Form1.Left = (Screen.Width - Form1.Width)/2 在垂直方向上居中显示。 Form1.Top = (Screen.Height - Form1.Height)/2 End Sub,1.4.2 窗体的属性,4Capti
46、on标题属性 决定出现在窗体的标题栏上的文本内容,也是当窗体被最小化后出现在窗体图标下的文本。如图1-13中窗体的Caption属性值是“VB窗体” 5字体Font属性组 uFontName属性是字符型,决定对象上正文的字体(缺省为宋体)。 uFontSize属性是整型,决定对象上正文的字体大小(缺省为9磅)。 uFontBold属性是逻辑型,决定对象上正文是否是粗体(缺省为False)。 uFontItalic属性是逻辑型,决定对象上正文是否是斜体(缺省为False)。 uFontStrikeThru属性是逻辑型,决定对象上正文是否加一删除线(缺省为False)。 uFontUnderLin
47、e属性是逻辑型,决定对象上正文是否带下划线(缺省为False)。,1.4.2 窗体的属性,注意: 如果使用窗体或其他“容器”对象无效,则在其中的所有控件也将无效。 例1-2 下面的程序是当文本框Text1不包含任何文本时,使命令按钮CmdOk无效。 Private Sub Text1_Change( ) If Text1.Text = Then 查看文本框是否为空 CmdOK.Enabled = False 使按钮无效 Else CmdOK.Enabled = True 使按钮有效 End If End Sub,1.4.2 窗体的属性,7Visible属性 用于确定一个窗体或控件为可见或隐藏。
48、要在启动时隐藏一个对象,可在设计时将Visible 属性设置为False,还可在代码中设置该属性使控件在运行时隐藏。 8BackColor属性和ForeColor属性 BackColor属性用于返回或设置对象的背景颜色,ForeColor属性用于返回或设置在对象里显示图片和文本的前景颜色,它们是十六进制长整型数据,在Visual Basic中通常用Windows运行环境的红-绿-蓝(RGB)颜色方案,使用调色板或在代码中使用RGB或QBColor函数指定标准RGB颜色。 例如,将窗体Form1的背景色设置为红色,则可使用: Form1.BackColor = RGB(255, 0, 0) 也可
49、用十六进制长整型数据或Visual Basic系统内部常量给BackColor属性赋值。例如: Form1.BackColor = . 其中,可以是窗体(Form)、图片框(PictureBox)或打印机(Printer)。具体说明如下: (1) 输出项之间的分隔符“,”为分段格式,“;”为紧凑格式。 (2) 语句末尾为分隔符“,”或“;”,则该语句最后的输出位置为下一条print语句输出的起始位置。 (3) 若省略输出项,则输出一空行。 Visual Basic将一行分为若干段,每14列为1段,若两个输出项之间用逗号间隔,则第2个数据项的输出位置从下一段开始;若两个输出项之间用分号间隔,则第
50、2个数据以“紧凑”格式输出。,2.3.2 Print语句,例2-3 Print语句的输出格式及应用。 Private Sub Form_Click() Print 123, 888, -456, 3.14 Print 123; 888; -456; 3.14 Print 123; 888; abc, True; Print 123, 888; -456; 3.14 Print Print 123, 888, -456, 3.14 End Sub 运行该程序时,在窗体上的输出结果如图2-1所示。,图2-1 例2-3的输出结果,2.3.2 Print语句,从例2-3的输出结果可知: (1) 无论是
51、分段格式还是紧凑格式,数值数据输出后都会尾随一个空格,输出正数时正号不显示、输出一个空格。 这就是为什么图2-1中第二行中的123和888之间有2个空格、而888与-456之间只有1个空格的原因。 (2) 字符串数据原样显示引号内的内容,逻辑类型数据直接输出True或False。,2.3.3 赋值语句,格式:= 或 .= 功能:计算表达式值并转换为相同类型数据后为变量或控件属性赋值。 说明: (1) 为数值变量赋值时,表达式的值不得超过数值变量的数值范围,否则显示错误信息。 (2) 值为浮点类型的表达式四舍五入后向整型变量赋值。 (3) 任何类型表达式都可以向字符串变量赋值。 (4) 赋值号不
52、是数学中的等号。,2.3.3 赋值语句,例2-4 编写一个实现两个变量值交换的程序。 我们可以把两个变量A、B设想成分别装有牛奶和咖啡的两只杯子,现在要把牛奶倒到咖啡杯里,而将咖啡倒到牛奶杯里。可以这样来做:另取一只杯子(同类型变量)C,将A中的牛奶倒入杯子C,再将B中的咖啡倒入杯子A,最后将杯子C中的牛奶倒入杯子B。 程序如下: Private Sub Form_Click() Dim a as Integer, b as Integer, c as Integer a=5: b=8 Print a,b 显示交换前的值 c=a: a=b: b=c 交换 Print a,b 显示交换后的值 E
53、nd Sub 显然,将交换的过程写作“a=b: b=a”是错误的。,2.4.1 算术运算符与算术表达式,1算术运算符 如表2-3所示,Visual Basic共有7个算术运算符,除了负号是单目运算符,其他都是双目运算符。,表2-3 算术运算符,2.4.1 算术运算符与算术表达式,2算术运算符的优先级 算术运算符之间的运算优先级从高到低如下所示,由此可知:指数运算优先级最高,而加、减运算优先级最低。 (指数运算 )(取负 -)(乘 *、除 /)(整除 )(求余 Mod)(加 +、减 -) 其中,整除和求余运算只能对整型数据(Byte、Integer、Long)进行,如果其两边的任一个操作数为实型
54、(Single、Double),则Visual Basic自动将其四舍五入、再用四舍五入后的值作整除或求余运算。 乘、除为同级运算符,加、减为同级运算符,同级运算从左向右进行。在表达式中加括号,可以改变表达式的求值顺序。,2.4.1 算术运算符与算术表达式,3算术表达式 常量、变量、函数是表达式,将它们加圆括号或用运算符作有意义的连接后也是表达式,书写Visual Basic的算术表达式,应注意与数学表达式在写法上的区别。例如: (1) 不能漏写运算符,如3xy应写作3*x*y。 (2) Visual Basic算术表达式中使用的括号都是圆括号。 例2-5 由下列数学式写出相应的Visual
55、Basic算术表达式。 写作:1/(1+1/(1+x) 写作:-(a*a+b*b*b)*y4 写作:(-a(bc)+b0.5)*(a-b)-0.5 变量k是一个两位整数,求其个位数与十位数之和的算术表达式为:k mod 10 + k10,2.4.2 字符串运算符与字符串表达式,字符串运算符有两个:“+”和“ 123, Tab(30); abc,则在当前输出行的第10列起输出123,在第30列起输出3个字符abc。 (2) Spc(n):输出n个空格。 如执行语句“Print abc; Spc(3); def”后输出:abc def,2.4.5 常用内部函数,例2-7 由下列条件写出相应的Vis
56、ual Basic表达式。 求变量x之绝对值的平方根,算术表达式为:Sqr(Abs(x) 判断变量k的整数部分是否为两位数的逻辑表达式为:Int(Abs(k)9 And Int(Abs(k)100 数学式 写作算术表达式为:Sqr(s*(s-a)*(s-b)*(s-c) 将大于0的单精度变量k四舍五入至小数点后两位的表达式为:Int(k*100+0.5)/100 数学式cos25+ctg32写作算术表达式为:cos(25*3.14159/180)+1/Tan(32*3.14159/180) 数学式e12.6loge3-8.6写作算术表达式为:exp(12.6)*log(3)-8.6 数学式(e
57、x-log10y)cos35写作算术表达式为: (exp(x)-log(y)/log(10)*cos(3.14159*35/180) N是大于0的整数,求N的位数的表达式为:Len(Str(N)-1,2.4.6 InputBox函数和MsgBox函数,1InputBox函数 InputBox函数也称为输入对话框,返回用户在对话框中输入的信息。格式: =InputBox(, 其中: (1) 指定在对话框中出现的文本信息。 (2) 指定对话框的标题信息。 (3) 可以指定文本框中显示的默认信息。 系统默认用该函数输入的数据为字符串类型,转换为与变量同一类型后赋值给变量。 如执行语句“n=Input
58、Box(请输入数据:,数据输入,10)”时(n为整型变量),Visual Basic显示“数据输入”对话框,如图2-2所示。,2.4.6 InputBox函数和MsgBox函数,若在输入栏中输入“123.45”,由于变量n为Integer类型,输入数据被四舍五入后赋值给n,因此n为123;若在输入栏中输入“123.56”,则n为124;若在输入栏中输入“Lac”,则系统显示“类型不匹配”之出错信息。,图2-2 “数据输入”对话框,2.4.6 InputBox函数和MsgBox函数,2MsgBox函数 MsgBox函数也称为消息对话框,用户单击按钮后返回一个整数以标明单击了哪个按钮。格式: =
59、MsgBox(,) 其中: (1) 指定在对话框中出现的文本信息。 (2) 指定对话框中出现的按钮和图标样式。 (3) 指定对话框的标题信息。 一般要通过3个参数的不同取值来获得所需要的按钮、图标样式以及默认按钮,详细规则如表2-5、表2-6和表2-7所示。,2.4.6 InputBox函数和MsgBox函数,表2-5 按钮样式,表2-6 图标样式,2.4.6 InputBox函数和MsgBox函数,表2-7 默认按钮,如,执行语句“n=MsgBox(请确认输入的数据是否正确!,3+32+0,数据检查)”后,则弹出如图2-3所示的对话框。 参数“3+32+0”中:按钮样式为3,在对话框中显示“是”、“否”和“取消”按钮;图标样式为32、显示问号;默认按钮为0,将第1按钮“是(Y)”作为默认按钮。,图2-3 消息对话框,2.4.6 I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年房地产开发项目融资借款合同
- 04年知识产权商标许可使用合同
- 2024年建筑与土木工程合同精粹
- 2024年房屋共有权买卖及租赁合同
- 销售业务员年度个人工作总结范文(20篇)
- 2024年前台客服工作计划(8篇)
- 2024年式汽修工具套装租借合同
- 04版0xx国际品牌授权合同
- DB4107T 475-2021 桃轻简化生产技术规程
- DB4106T 1-2019 计量检定机构服务规范
- 小学体育水平一《走与游戏》教学设计
- 秋日私语(完整精确版)克莱德曼(原版)钢琴双手简谱 钢琴谱
- 办公室室内装修工程技术规范
- 盐酸安全知识培训
- 万盛关于成立医疗设备公司组建方案(参考模板)
- 消防安全巡查记录台帐(共2页)
- 科技特派员工作调研报告
- 中波广播发送系统概述
- 县疾控中心中层干部竞聘上岗实施方案
- 急性心肌梗死精美PPt完整版
- 物业日常巡查记录表.doc
评论
0/150
提交评论