VB程序设计基础(全集)

上传人:真** 文档编号:242987991 上传时间:2024-09-13 格式:PPT 页数:392 大小:2.82MB
返回 下载 相关 举报
VB程序设计基础(全集)_第1页
第1页 / 共392页
VB程序设计基础(全集)_第2页
第2页 / 共392页
VB程序设计基础(全集)_第3页
第3页 / 共392页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,主 编 :,陈庆章,Visual Basic,前 言,Visual Basic,是目前进行,Windows,应用程序设计的最佳工具之一,也是最佳的程序设计入门语言,这一看法已经得到普遍认可。,非计算机专业计算机基础教学的,3,个不同层次,分别解决的是,“,操作技能,”,、,“,思维训练,”,、,“,综合应用能力,”,问题。学习一门程序设计语言,主要目的是要提高读者分析归纳、解决问题的能力,在思维训练方面受益,并使得读者通过更系统、深入的学习后开发实用程序成为可能。,因此,本书在内容上精选了,Visual Basic 6.0,中最基础、最常用并实用的部分;在编排和风格上力图体现循序渐进、深入浅出的特点;以样本程序示例教学,阶段性构筑读者的成就感,使得艰苦的程序设计工作升华为一种艺术创作,提供了一条通往程序设计高手的捷径。,前 言,本书的编写得到了浙江省高校计算机教学研究会的大力支持。本书共分,9,章,第,1,、第,7,章由浙江科技学院的罗朝盛教授编写,第,2,、第,3,、第,4,、第,6,章由浙江工业大学的胡同森副教授编写,第,5,章由浙江理工大学的庄红副教授编写,第,8,章由胡同森和浙江师范大学的朱建新编写,第,9,章由杭州电子科技大学的郭艳华副教授编写。附录部分包括,ASCII,字符集、,Visual Basic,常用系统函数、,Visual Basic,常用属性、,Visual Basic,常用事件、,Visual Basic,常用方法以及部分对象能使用的常用方法,为大家使用,Visual Basic,进行程序设计提供查找资料的方便。全书由浙江工业大学陈庆章担任主编,由胡同森统稿。,前 言,另外,与本教材配套使用的另一本教学或自学参考书,Visual Basic,学习及实践指导将在,2005,年春季前出书。书中将有本教材习题的参考答案和,Visual Basic,学习及实践指导中附加习题的参考答案。此书是教师教学、学生或读者自学非常实用的辅助参考书。,希望所有读者和从事计算机基础教学的各位同仁,对本书多提宝贵意见,使其逐步完善。在此,预致我们深深的谢意。,本书编委会,2004,年,7,月,编委会名单,主 任:,方永平,副主任:,胡维华,委 员,(以姓氏笔画为序),陈庆章 何钦铭 项小仙 赵建民 俞瑞钊,蒋联海 雷 炜 楼程富,主 编 :,陈庆章,编著者 :,胡同森 罗朝盛 庄 红 郭艳华 朱建新,目 录,第,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 Basic,程序的组成及工作方式,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,”,的原意是指,“,可视的,”,或,“,看得见的,”,,是为用户开发图形用户界面(,GUI,),提供的一种方法。用户不需要编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象加到屏幕上的适当位置,再进行简单的设置即可。,1.1.1,Visual Basic,的发展过程,1991,年,微软公司推出了,Visual Basic1.0,版,这在当时引起了很大的轰动。许多专家把,Visual Basic,的出现当作是软件开发史上的一个具有划时代意义的事件。其实,现在看来,,Visual Basic1.0,的功能实在是太弱了。但在当时,它是第一个,“,可视,”,的编程软件。,1992,年初,发布,Visual Basic Professional Toolkit,,,其中包含了一组由微软公司和其他公司开发的自定义控件。这时,面向对象和复用性开始成为软件开发中的重要概念。同年,又发布了,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,、,Microsoft 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 5.0/6.0,有,3,种版本,分别为学习版、专业版和企业版。,学习版:它是最基本的版本,允许编写许多类型的程序,与其他版本相比,所带工具较少。,专业版:为专业人员而设计,它不仅包含了学习版的全部内容,还包含了许多其他功能,如具有创建,ActiveX,控件和,ActiveX,文档的能力;提供,Internet,开发功能,具有更多使用数据库的工具。,企业版:这是,Visual Basic 6.0,最完善的版本,该版本主要用于开发企业级分布式应用程序,它包含了许多附加工具,提供了完全集成,SQL Server,的所有工具。,这,3,个版本是在相同的基础上建立起来的,以满足不同层次用户的需要。对大多数用户来说,专业版就可以满足要求。本书使用的是,Visual Basic 6.0,的企业版(中文),书中介绍的内容尽量做到与版本无关。,1.1.2,Visual Basic,的特点,Visual Basic,是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,能用于,Windows,环境下的各种应用软件的开发,是目前较为流行的应用软件开发平台,具有许多明显的特点与优点,现归纳如下:,1,提供了面向对象的可视化编程工具,Visual Basic,采用的是面向对象的程序设计方法(,OOP,),,它把程序和数据封装在一起而视作为一个对象。,Visual Basic,提供了可视化的设计工具,把,Windows,界面设计的复杂性,“,隐藏,”,起来,开发人员只需按设计要求,用系统提供的工具,在屏幕上画出各种对象,并设置这些对象的属性,这样就可以在屏幕上,“,画,”,出所需的用户界面,不必为界面设计而编写大量的程序代码,因而大大提高程序设计的效率。,1.1.2,Visual Basic,的特点,2,事件驱动的编程方式,传统的程序设计是一种面向过程的方式,程序总是按事先设计好的流程运行,用户不能随意改变、控制程序的流向。在,Visual Basic,中,用户的动作,事件控制着程序的流向,每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,而各个动作之间不一定有联系,这样的应用程序代码一般比较短,所以程序易于编写与维护。,3,结构化的程序设计语言,Visual Basic,具有丰富的数据类型和结构化程序结构,其特点是:,(1),增强了数值和字符串处理功能,比传统的,Basic,语言有许多的改进。,(2),提供了丰富的图形及动画指令,可方便地绘制各种图形。,(3),提供了定长和动态(变长)数组,有利于简化内存管理。,(4),增加了递归过程调用,使程序更为简练。,(5),提供了一个可供应用程序调用的包含多种类型的图标库。,(6),具有完善的调试、运行出错处理。,1.1.2,Visual Basic,的特点,4,提供了易学易用的应用程序集成开发环境,在,Visual Basic,的集成开发环境中,用户可设计界面、编写代码、调试程序,直至将应用程序编译成可执行文件在,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,开发的应用程序与其他,Windows,应用程序之间建立数据通信。动态链接库中存放了所有,Windows,应用程序可以共享的代码和资源,这些代码或函数可以用多种语言写成。,Visual Basic,利用这项技术可以调用几乎任何语言产生的,DLL,,,也可以调用,Windows,应用程序接口(,API,),函数,以实现,SDK,所能实现的功能。,7,完备的,Help,联机帮助功能,与,Windows,环境下的其他软件一样,在,Visual Basic,中,利用帮助菜单和功能键,用户可随时方便地得到所需的帮助信息。,Visual Basic,帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获得大量的示例代码,为用户的学习和使用提供了极大的方便。,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.0,有了很大的增强,首先,它采用了一种新的数据访问技术,ADO,(,Active Data Object,),,使之能更好地访问本地和远程的数据库。其次,在数据环境方面,允许程序员可视化地创建和操作,ADO,连接及命令,为程序员操纵数据源提供了很大的方便。另外,增加了,ADO,控件和集成的可视化数据库工具。,1.1.3,Visual Basic 6.0,的新特性,2,Internet,功能的增强,Internet,是当今发展的潮流,,Visual Basic 6.0,在,Internet,方面的增强使得它已成为当前最强有力的开发工具之一。,(1),IIS,程序设计:用,Visual Basic 6.0,的专业版和企业版可直接创建,IIS,应用程序,响应用户的要求。,(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),函数可以将数组作为返回值,并且可以为可变大小的数组赋值。,(4),新增了安装向导、数据对象向导、数据窗体向导以及应用程序向导。这些新增的向导,可以使开发人员设计出更优秀的应用程序。,1.1.3,Visual Basic 6.0,的新特性,4,高度可移植化的代码,代码的可移植性是面向对象编程的一个重要特点。,Visual Basic 6.0,集成了,Visual Component Manager,(,简称,VCM,,,中文含义为可视化组件管理器)和,Visual Modeler,(,可视化模块设计器)。通过,VCM,,,可以在,Visual Basic,的工程中方便地组织、查找、插入各种窗体、模板、类模块,甚至整个工程,为代码的重新利用提供了很大的方便。而,Visual Modeler,则可以将设计器和组件转化成,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,文档以及,Visual 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,可以生成下列,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 6.0,的集成开发环境主窗口,需要说明的是正常启动时,可能见不到图,1-2,中的,“,立即,”,窗口。在,Visual Basic,集成环境中的其他类似窗口,都可以通过,“,视图,”,菜单中的相应命令来打开和关闭。,1,标题栏,标题栏位于主窗口最上面的一行,如图,1-3,所示。标题栏中间显示窗口标题及工作模式,,Visual Basic,有,3,种工作模式,:,设计,(,Design,),模式、运行,(,Run,),模式和中断,(,Break,),模式。,启动时它显示,“,工程,1-,Microsoft Visual Basic,设计,”,,表示它处于程序设计,模式,。,(1),设计模式,:,可进行用户界面的设计和代码的编制,,,以完成应用程序的开发,,,如图,1-2,所示,。,(2),运行模式,:,运行应用程序,,,这时不可编辑代码,,,也不可编辑界面。此时,标题栏中的标题为:,“,工程,1,Microsoft Visual Basic ,运行,”,。,(3),中断模式:应用程序运行暂时中断,这时可以编辑代码,但不可编辑界面。此时,标题栏中的标题为:,“,工程,1,Microsoft Visual asic break,”,。,按,F5,键或单击工具栏的,“,继续,”,按钮,,程序继续运行;单击,“,结束,”,按钮,,程序停止运行。,1.2.1,Visual Basic 6.0,的集成开发环境主窗口,2,菜单栏,Visual Basic,集成开发环境的菜单栏中包含使用,Visual Basic,所需要的命令。它除了提供标准,“,文件,”,、,“,编辑,”,、,“,视图,”,、,“,窗口,”,和,“,帮助,”,菜单之外,还提供了编程专用的功能菜单,如,“,工程,”,、,“,格式,”,、,“,调试,”,、,“,外接程序,”,等菜单,总共,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,对象和工具箱新工具的命令。,(5),格式:包含对齐窗体控件的命令。,(6),调试:包含一些通用的调试命令。,(7),运行:包含启动、设置断点和终止当前应用程序运行的命令。,(8),查询:包含操作数据库表时的查询命令以及其他数据访问命令。,(9),图表:包含操作,Visual Basic,工程时的图表处理命令。,(10),工具:包含建立,ActiveX,控件时需要的工具命令,并可以启动菜单编辑器以及配置环境选项。,(11),外接程序:包含可以随意增删的外接程序。缺省时这个菜单中只有,“,可视化数据管理器,”,选项。通过,“,外接程序管理器,”,命令可以增删外接程序。,(12),窗口:包含屏幕窗口布局命令。,(13),帮助:提供相关帮助信息。,1.2.1,Visual Basic 6.0,的集成开发环境主窗口,3,工具栏,工具栏在编程环境下提供对于常用命令的快速访问。单击工具栏上的按钮,即可执行该按钮所代表的操作。在缺省模式下,启动,Visual Basic,之后将显示,“,标准,”,工具栏。其他工具栏,如,“,编辑,”,、,“,窗体设计,”,和,“,调试,”,工具栏可以从,“,视图,”,菜单中的,“,工具栏,”,命令中移进或移出。工具栏紧贴在菜单栏下方,或以垂直条状紧贴在左边框上,如图,1-3,所示。如果用鼠标将工具栏从某栏下面移开,则它能,“,悬,”,在窗口中。一般情况下,工具栏在菜单栏的正下方。,1.2.2,窗体设计窗口,“,窗体设计窗口,”,也称为对象窗口。,Windows,的应用程序运行后都会打开一个窗口,窗体设计窗口是应用程序最终面向用户的窗口,是屏幕中央的主窗口。通过在窗体中添加控件并设置相应的属性来完成应用程序界面的设计。每个窗口必须有一个窗体名字,系统启动后就会自动创建一个窗体(缺省名为,Form1,),,用户可通过,“,工程,/,添加窗体,”,来创建新窗体或将已有的窗体添加到工程中。每个窗体保存后都有一个窗体文件名(扩展名为,.,Frm,)。,应注意窗体名即窗体的,“,Name,”,属性和窗体文件名的区别。,1.2.3,工具箱,系统启动后缺省的,General,工具箱就会出现在屏幕左边,其中每个图标表示一种控件,共有,20,个常用,“,部件,”,(即控件),如图,1-4,所示。,指针(选择对象),图片框(,PictureBox,),标签(,Label,),文本框(,TextBox,),框架(,Frame,),命令按钮(,CommandButton,),复选框(,CheckBox,),单选按钮(,OptionButton,),组合框(,ComboBox,),列表框(,ListBox,),水平滚动条(,HscrollBar,),垂直滚动条(,VscrollBar,),定时器(,Timer,),驱动器列表框(,DriveListBox,),目录列表框(,DirListBox,),文件列表框(,FileListBox,),形状(,Shape,),画线(,Line,),图像框(,Image,),数据库(,Data,),图1-4,Visual Basic,工具箱中的常用控件类型,1.2.3,工具箱,用户可以将不在工具箱中的其他,ActiveX,控件放到工具箱中。通过,“,工程,”,菜单中的,“,部件,”,命令或从,“,工具箱,”,快捷菜单中选定,“,部件,”,选项卡,就会显示系统安装的所有,ActiveX,控件清单。要将某控件加入到当前选项卡中,需单击要选定控件前面的方框,如图,1-5,所示,然后单击,“,确定,”,按钮,选定的,ActiveX,控件就会添加到工具栏中。,图,1-5 “,部件,”,对话框,1.2.4,工程资源管理器,工程是指用于创建一个应用程序的文件的集合。工程资源管理器列出了当前工程中的窗体和模块,如图,1-6,所示。,在工程资源管理器窗口中有,3,个按钮,分别表示,“,查看代码,”,、,“,查看对象,”,和,“,切换文件夹,”,。,(1),单击,“,查看代码,”,按钮,可打开,“,代码编辑器,”,查看代码。,(2),单击,“,查看对象,”,按钮,可打开,“,窗体设计器,”,查看正在设计的窗体。,(3),单击,“,切换文件夹,”,按钮,则可以隐藏或显示包含在对象文件夹中个别项目列表。,1.2.4,工程资源管理器,图,1-6,工程资源管理器,图,1-7,属性设置窗口,1.2.5,属性窗口,属性是指对象的特征,如大小、标题或颜色等数据。在,Visual Basic 6.0,设计模式中,属性窗口列出了当前选定窗体或控件的属性及其值,用户可以对这些属性值进行设置。例如,要设置,Command1,命令按钮上显示的字符串,可以找到属性窗口的,“,Caption,”,属性,输入,“,开始,”,之类的字符串,如图,1-7,所示。,1.2.6,窗体布局窗口,窗体布局窗口显示在屏幕右下角。用户可使用表示屏幕的小图像来布置应用程序中各窗体相对于主窗体的位置。图,1-8,显示了桌面上两个窗体放置及其相对位置。右键单击小屏幕,弹出快捷菜单,可通过该快捷菜单来对窗体启动位置进行设计,如要设计窗体,Form1,启动位置居屏幕中心,其操作如图,1-9,所示。,图,1-8,窗体布局窗口,图,1-9,设计窗体启动位置,1.2.7,代码编辑窗口,在设计模式中,通过双击窗体或窗体上的任何对象或单击,“,工程资源管理器,”,窗口中的,“,查看代码,”,按钮都可打开代码编辑器窗口。代码编辑器是输入应用程序代码的编辑器,应用程序的每个窗体或标准模块都有一个单独的代码编辑器窗口,如图,1-10,所示。,图,1-10,代码编辑器窗口,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,所提供的一个系统对象,称为,Debug,对象,作为调试程序使用。它只有方法,不具备任何事件和属性。通常使用是,Print,方法,使用格式为:,Debug.print,输出项列表,例如:,Debug.print,“,VB,程序设计,”,运行后在立即窗口输出:,VB,程序设计,在设计状态可以在立即窗口中进行一些简单的命令操作,如变量赋值,用,“,?,”,或,Print,(,两者等价)输出一些表达式的值。,图,1-11,立即窗口,1.2.8,立即窗口,操作结果如图,1-12,所示。,此外,,Visual Basic 6.0,中还有,2,个非常有用的附加窗口:,“,本地,”,和,“,监视,”,窗口,它们都是为调试应用程序提供的,本地窗口和监视窗口只在运行工作模式下才有效。,图,1-12,在,“,立即,”,窗口中的操作实例,1.3.1,可视化编程,传统的编程方法使用的是面向过程、按顺序进行的机制,其缺点是程序员始终要关心什么时候发生什么事情,处理,Windows,环境下事件驱动方式的工作量太大。,Visual Basic,采用的是面向对象、事件驱动的编程机制。程序员只需编写响应用户动作的程序,如移动鼠标、单击鼠标等,编写代码相对较少。,Visual Basic,使用的可视化编程方法,是面向对象编程技术的简化版。,Visual Basic,提供多种控件支持可视化编程,利用它们可以快速创建强大的应用程序而不需涉及不必要的细节。,在,Visual Basic,环境中,程序员不仅可以利用控件来创建对象,而且还可以建立自己的控件,这是,Windows,环境下编程的新概念。,1.3.2,对象与类,1,对,象,对象(,Object,),是代码和数据的集合。可以把对象看成日常生活中的各种物体,如一支钢笔、一辆汽车、一台电脑都是一个对象。一台电脑又可以拆分为主板、,CPU,、,内存、外设等部件,这些部件又都分别是一个对象,因此电脑对象可以说是由多个,“,子,”,对象组成的,它可以称为是一个对象容器(,Container,)。,在,Visual Basic 6.0,中,对象可以由系统设置好,直接供用户使用,也可以由程序员自己设计。,Visual Basic,设计好的对象有:窗体、各种控件、菜单、屏幕、剪贴板等。用户使用最多的是窗体和控件。,1.3.2,对象与类,2,类,类是同一种对象的统称,是一个抽象的整体概念,也是创建对象实例的模板,而对象则是类的实例化。属于同一类的所有对象具有同一组属性、方法与事件,只是其属性值不同,对事件的响应不同(取决于程序员的编程)。,譬如,汽车是一个笼统的名称,是整体概念,我们把汽车看成一个,“,类,”,,一辆辆具体的汽车(比如你的汽车、我的汽车)就是这个类的实例,也就是属于这个类的对象。,Visual Basic,中工具箱上的控件是类,画在窗体中的各控件则是类的事例化,即是对象。,1.3.3,属,性,属性是对象的性质,对象中的数据就保存在属性中。属性是用来描述和反映对象特征的参数。每一种对象都有其属性,属性值决定了对象的外观和行为。例如,,“,控件名称,”,(,Name,)、,“,颜色,”,(,Color,),及,“,是否可见,”,(,Visible,),等属性决定了对象展现给用户的界面具有什么样的外观及功能。不同的对象具有的属性不尽相同,如命令按钮有,“,Caption,”,属性而无,“,Text,”,属性,文本框无,“,Caption,”,属性而有,“,Text,”,属性。,控件属性的设置一般有两条途径:,(1),如果在界面设计时设置对象的属性,需要使用属性窗口。这时只要在属性窗口中选中要修改的属性,然后在右列中键入新的值即可设置对象的属性。,如标签、文本框、列表框、图片框控件的字体、颜色等属性。,(2),如果要在程序运行中动态地更改对象的属性,可以使用,Visual Basic,的赋值语句,在代码窗口中通过编程设置,其格式为:,对象名.属性名 = 属性值,其中,“,对象名,.,属性名,”,是,Visual Basic,中引用对象属性的方法,如下述代码可以设置标签控件,Label1,的标题为,“,第一个应用程序,”,:,Label1.Caption = ,第一个应用程序,1.3.4,方,法,方法是面向对象程序设计语言为编程者提供的用来完成特定操作的过程和函数。在,Visual Basic,中已将一些通用的过程和函数编写好并封装起来,作为方法供用户直接调用,这给用户的编程带来了极大的方便。因为方法是面向对象的,所以在调用时一般要指明对象。对象方法的调用格式为:,对象.方法参数名表,其中,若省略了对象,表示是当前对象,一般指窗体。,例如:在窗体,Form1,上打印输出“,Visual Basic,程序设计”,可使用窗体的,Print,方法,Form1.Print Visual Basic,程序设计,若当前窗体是,Form1,,,则可写为:,Print Visual Basic,程序设计,1.3.5,对象事件与事件过程,1,事件,事件是,Visual Basic,预先定义的、对象能够识别的动作。,每个控件都可以对一个或多个事件进行识别和响应,如窗体加载事件(,Load,)、,鼠标单击事件(,Click,)、,鼠标双击事件(,DblClick,),等。事件是一种预先定义好的特定动作,由用户或系统激活,在多数情况下,事件是通过用户的交互操作产生的。,例如,窗体上有一个名为,“,CmdOK,”,的命令按钮对象,当鼠标指针被移动时,系统将跟踪鼠标指针的位置,当鼠标在该对象上单击一下,系统就给鼠标指针所指向的对象发送一个,Click,事件,如果该事件已编写了程序代码,系统则执行过程的程序代码,执行结束后,控制权交还给系统,并等待下一个事件。,1.3.5,对象事件与事件过程,2事件过程,事件过程是用来完成事件发生后所要执行的操作。,当一个对象察觉到某一事件发生时(如,Click,等),就会对事件产生响应,即执行一段程序代码,所执行的这段程序代码就称为事件过程。,对于窗体对象,其事件过程的形式如下:,Sub Form_,事件过程名(参数列表),(事件过程代码),End Sub,对于除窗体以外的对象,其事件过程的形式如下:,Sub,对象名_事件过程名(参数列表),(事件过程代码),End Sub,例如,单击名为,cmdOk,命令按钮,使命令按钮变为不可见,则对应的事件过程如下:,Sub cmdOK_Click( ),Cmd0k.Visible=False,End Sub,1.4.1,窗体的结构,同,Windows,环境下的应用程序窗口一样,,Visual Basic,中的窗体也具有控制菜单、标题栏、,“,最大化,”,按钮、,“,最小化,”,按钮、,“,关闭,”,按钮以及边框等,如图,1-13,所示。,窗体的操作与,Windows,下的窗口操作一样。通过鼠标左键拖动标题栏可以移动窗体;鼠标对准窗体边框,当出现双向箭头时拖动鼠标可以改变窗体的大小。,建立新窗体后,它的大小、背景颜色、标题及窗体名称等特征需要根据应用程序的要求进行设置。,1.4.1,窗体的结构,图,1-13,窗体的结构,“最小化”按钮,“最大化”按钮,“关闭”按钮,图标,控,制,菜单框,边框样式,标题,1.4.2,窗体的属性,窗体的基本属性有:,Name,、,Left,、,Top,、,Height,、,Width,、,Visible,、,Enabled,、,Font,、,ForeColor,、,BackColor,等。在,Visual Basic,中的大多数控件基本上都有这些属性,在以后介绍其他对象时,这些属性还将详细介绍。,1,Name,属性,Visual Basic,中任何对象都有,Name,属性,在程序代码中通过该属性来引用、操作具体的对象。首次在工程中添加窗体时,该窗体的名称被缺省为,Form1,;,添加第二个窗体,其名称被缺省为,Form2,,,依此类推。最好给,Name,属性设置一个有实际意义的名称,如给一个程序的主控窗体命名为,“,MainFrm,”,。,这样在程序代码中的意义就很清楚,程序的可读性就好。,1.4.2,窗体的属性,2,Left,、,Top,属性,窗体运行在屏幕中,屏幕是窗体的容器,因此窗体的,Left,、,Top,属性值是相对屏幕左上角的坐标值。对于控件,,Left,、,Top,属性值则是相对,“,容器,”,左上角的坐标值,其缺省单位是,twip,。,1twip=1/20,点,=1/1440,in=1/567cm,3,Height,、,Width,属性,返回或设置对象的高度和宽度。对于窗体,指的是窗口的高度和宽度,包括边框和标题栏。对于控件,这些属性使用控件所在,“,容器,”,的度量单位。,图,1-14,是屏幕(,Screen,)、,窗体(,Form1,),和命令按钮(,Ok,),的,Left,、,Top,、,Height,、,Width,属性表示,读者要注意,Left,、,Top,属性值是相对,“,容器,”,左上角的坐标值。在,Visual Basic,中除了用屏幕、窗体作,“,容器,”,外,还有框架和图片框对象可作,“,容器,”,。,1.4.2,窗体的属性,图,1-14,对象的,Left,、,Top,、,Height,、,Width,属性,Screen.Height,Form1.Top,Form1.Height,Ok,.,Height,Ok.Top,Ok.Left,Ok.Width,Form1.Width,Form1.Left,Screen.Width,1.4.2,窗体的属性,例1-1 在窗体,Form1,被加载时,将其大小设置为屏幕大小的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,窗体的属性,4,Caption,标题属性,决定出现在窗体的标题栏上的文本内容,也是当窗体被最小化后出现在窗体图标下的文本。如图,1-13,中窗体的,Caption,属性值是,“,VB,窗体,”,5,字体,Font,属性组,u,FontName,属性是字符型,决定对象上正文的字体(缺省为宋体)。,u,FontSize,属性是整型,决定对象上正文的字体大小(缺省为,9,磅)。,u,FontBold,属性是逻辑型,决定对象上正文是否是粗体(缺省为,False,)。,u,FontItalic,属性是逻辑型,决定对象上正文是否是斜体(缺省为,False,)。,u,FontStrikeThru,属性是逻辑型,决定对象上正文是否加一删除线(缺省为,False,)。,u,FontUnderLine,属性是逻辑型,决定对象上正文是否带下划线(缺省为,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,窗体的属性,7,Visible,属性,用于确定一个窗体或控件为可见或隐藏。要在启动时隐藏一个对象,可在设计时将,Visible,属性设置为,False,,,还可在代码中设置该属性使控件在运行时隐藏。,8,BackColor,属性和,ForeColor,属性,BackColor,属性用于返回或设置对象的背景颜色,,ForeColor,属性用于返回或设置在对象里显示图片和文本的前景颜色,它们是十六进制长整型数据,在,Visual Basic,中通常用,Windows,运行环境的红,-,绿,-,蓝(,RGB,),颜色方案,使用调色板或在代码中使用,RGB,或,QBColor,函数指定标准,RGB,颜色。,例如,将窗体,Form1,的背景色设置为红色,则可使用:,Form1.BackColor = RGB(255, 0, 0),也可用十六进制长整型数据或,Visual Basic,系统内部常量给,BackColor,属性赋值。例如:,Form1.BackColor = &HFF&,它等价于:,Form1.BackColor = vbRed,1.4.2,窗体的属性,9,MaxButton,“,最大化”按钮和,MinButton,“,最小化”按钮,当其值为,Ture,时,有,“,最大化,”,或,“,最小化,”,按钮;其值为,False,时,则无。,10,Icon,控制图标属性,返回或设置窗体左上角显示或最小化时显示的图标,它必须在,ControlBox,属性设置为,Ture,才有效。缺省设置的图标是 ,单击属性窗口中,Icon,属性值后面的按钮,打开,“,加载图标,”,对话框,允许打开一个图标文件(,*.,Ico,和,*.,Cur,),作为这个属性的值。,11,ControlBox,控制菜单框属性,其值设置为,Ture,时,有控件菜单;设置为,False,时,则无控件菜单,同时窗体也无,“,最大化,”,按钮和,“,最小化,”,按钮,即使,MaxButton,属性和,MinButton,属性设置为,Ture,。,1.4.2,窗体的属性,12,Picture,图片属性,设置窗体中要显示的图片。一般可显示所有类型的图片文件。,13,BorderStyle,边框风格属性,通过改变,BorderStyle,属性,可以控制窗体如何调整大小,它可取,6,种值,如表,1-1,所示。,属性值,意 义,数值,系统常量,0,VbBSNone,无(没有边框或与边框相关的元素),1,VbFixedSingle,固定单边框。可以包含控制菜单框、标题栏、“最大化”按钮和“最小化”按钮。只有使用“最大化”和“最小化”按钮才能改变窗体大小,2,VbSizable,(缺省值)可调整大小的边框,3,VbFixedDoubleialog,固定对话框。可以包含控制菜单框和标题栏,不包含“最大化”和“最小化”按钮,不能改变窗体尺寸,4,vbFixedToolWindow,固定工具窗口。不能改变窗体尺寸,显示“关闭”按钮并用缩小的字体显示标题栏,窗体不在任务栏中显示,5,vbSizableToolWindow,可变尺寸工具窗口。可以改变窗体大小,显示“关闭”按钮并用缩小的字体显示标题栏,窗体不在任务栏中显示,表,1-1,窗体对象,BorderStyle,属性的取值及意义,1.4.2,窗体的属性,14,WindowsState,属性,设置窗体运行的状态,它可取,3,种值,对应于,3,种状态,如表,1-2,所示。,15,AutoRedraw,属性,该属性决定窗体被隐藏或被另一窗口覆盖之后重新显示时,是否重新还原该窗体被隐藏或覆盖以前的画面。即是否重画如,Circle,、,Line,、,Pset,和,Print,等方法的输出。当,AutoRedraw,属性为,True,时,重新还原该窗体以前的画面;为,False,时,则不重画。,属性值,说 明,数值,系统常量,0,VbNormal,正常窗口状态,有窗口边界,1,vbMinimized,最小化状态,以图标方式运行,2,vbMaximized,最大化状态,无边框,充满整个屏幕,1.4.2,窗体的属性,注意:,在窗体,Load,事件中如果要使用,Print,方法在窗体上打印输出,就必须先将窗体的,AutoRedraw,属性设置为,True;,否则窗体启动后将没有输出结果。这是因为窗体是在,Load,事件执行完后才显示的。,读者一下子要记住这些属性,是有一定困难的,要熟悉并应用这些窗体属性,最好的办法是上机实践。在,“,属性,”,窗口中更改窗体的一些属性,然后运行该应用程序并观察修改的效果。,1.4.3,窗体的事件,与窗体有关的事件较多,,Visual Basic 6.0,中有,30,多个,读者只需掌握一些常用事件,了解这些事件的触发机制。下面对几个常用窗体事件作一下介绍:,1,Click,事件,在程序运行时单击窗体内的某个位置,,Visual Basic,将调用窗体的,Form_Click,事件。如果单击的是窗体内的控件,则只能调用相应控件的,Click,事件。,2,DblClick,事件,程序运行时双击窗体内的某个位置,就触发了两个事件,第一次按动鼠标时,触发,Click,事件,第二次产生,DblClick,事件。,1.4.3,窗体的事件,3,Load,事件,在程序运行时,当窗体被装入工作区时,将触发它的,Load,事件,所以该事件通常用来在启动应用程序时对控件属性和变量初始化。,4,Unload,事件,卸载窗体时触发该事件。,5,Resize,事件,当窗体大小发生改变时,将触发一个,Resize,事件。,6,Activate,事件,当窗体由非活动窗体变为活动窗体,即当窗体得到焦点时触发该事件。,1.4.4,窗体的方法,窗体常用的方法有:,Print,(,打印输出)、,Cls,(,清除)、,Show,(,显示)、,Hide,(,隐藏)以及(,Move,),移动等。,1,Print,方法,用于在窗体上输出信息,其使用格式为:,窗体名.,Print ,输出项列表,例如:,Print x, y, WINDOWS,,,则在窗体上输出,x,y,的值和“,WINDOWS,”。,关于,Print,方法的使用在,2.3.2,节作详细介绍。,2,Cls(,清除)方法,Cls,方法用来清除运行时在窗体上显示的文本或图形,它有如下格式:,窗体名.,Cls,Cls,方法用来清除运行时在窗体上显示的文本或图形,当使用,C1s,方法后,窗体的当前坐标属性,CurrentX,和,CurrentY,被设置为0。,1.4.4,窗体的方法,3,Move,(,移动)方法,Move,方法用来在屏幕上移动窗体,它有如下格式:,窗体名.,Move Left,Top,Width,Height,其中,,Left,、,Top,、,With,、,Height,均为单精度数值型数据,分别用来表示窗体相对于屏幕左边缘的水平坐标、相对于屏幕顶部的垂直坐标、窗体的新宽度和新高度。,Move,方法至少需要一个,Left,参数值,其余均可省略。如果要指定其余参数值,则必须按顺序依次给定前面的参数值。例如,不能只指定,Width,值,而不指定,Left,和,Top,值,但允许只指定前面部分的参数,而省略后面部分。例如,允许只指定,Left,和,Top,,,而省略,Width,和,Height,,,此时窗体的宽度和高度在移动后保持不变。,1.4.4,窗体的方法,例1-3,使用,Move,方法移动一个窗体。双击窗体,窗体移动并定位在屏幕的左上角,同时窗体的长宽也缩小一倍。,为了实现这一功能,可以在窗体,Forml,的“代码”窗口中输入下列代码:,Private Sub Form_DblClick( ),Form1.Move 0, 0, Form1.Width / 2, Form1.Height / 2,End Sub,1.4.4,窗体的方法,4,Show,(,显示)方法,Show,方法用于在屏幕上显示一个窗体,使指定的窗体在屏幕上可见,调用,Show,方法与设置窗体,Visible,属性为,True,具有相同的效果。,其调用格式如下:,窗体名.,Show vbModal | vbModeless,【,说明,】,(1),该方法有一个可选参数,它有两种可能值:,vbModal,或,vbModeless,,,若未指定参数,则缺省为,vbModal,。,Show,方法的可选参数表示从当前窗口或对话框切换到其他窗口或对话框之前用户必须采取的动作。当参数为,vbModal,时,要求用户必须对当前的窗口或对话框做出响应,才能切换到本应用程序的其他窗口。,(2),如果要显示的窗体事先未装入,系统将自动调用,Load,命令装入该窗体再显示。,1.4.4,窗体的方法,5,Hide,(,隐藏)方法,Hide,方法用于使指定的窗体不显示,但不从内存中删除窗体。其
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!