第一章Visual Basic 导论Word文档下载推荐.docx
《第一章Visual Basic 导论Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第一章Visual Basic 导论Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
1、具有面向对象的可视化设计工具
在VB中,应用面向对象的程序设计方法(OOP方法),把程序和数据封装起来视为一个对象,每个对象都是可视的。
程序员在设计时只需根据界面设计的要求,直接在计算机屏幕上“画”出各种需要的不同类型的对象(控件和窗体),并为每个对象设置属性,就可以完成应用程序的人机对话的界面设计。
最后程序员的编程工作仅针对对象要完成的功能进行编程,就可以完成应用程序的全部程序设计工作。
2、事件驱动的编程机制
事件驱动编程是当代最先进的编程方法,VB中每个对象都有相应的各种事件,每个事件都能够驱动一段程序的运行。
针对对象所响应的事件进行编程,能够令应用程序完成设计者所期望的各种数据处理及其他工作。
此种编程机制既可以极大地减少编程量,又可以降低编程的难度,使得程序易于编写和维护。
3、提供了易学易用的应用程序集成开发环境
VB为用户提供了开发应用程序的集成开发环境,用户可以在同一个开发环境中设计应用程序界面、编写程序代码、调试程序、进行应用程序的编译等各项工作。
4、结构化的程序设计
5、支持多种数据库系统的访问
利用VB提供的数据控件或ODBC,VB可以访问各种当代流行的数据库系统,如Access、SQLServer以及Oracle等各种类型的数据库,也可访问Microsoft的Excel电子电子表格以及Loutus1-2-3等。
6、OLE技术
VB的核心是其对对象的链接与嵌入(OLE)的支持,利用OLE,VB可开发集声音、图象、动画、字处理、Web等对象于一体的应用程序。
7、Active技术
VB可方便地使用标准的Active部件,调用标准接口,实现各种特定的功能。
8、完备的Help联机帮助功能。
三、运行环境
VB6.0是Windows95/98、WindowsNT或Windows2000下的一个应用程序,它对环境的要求与所依赖的操作系统的要求是一致的。
硬件要求:
586以上CPU,16M以上内存,100M以上硬盘。
软件要求:
Windows95/98、NT3.51以上版本或Windows2000。
四、启动
启动VB的常用方法主要有以下两种方法:
1、通过“开始”按钮的“程序”菜单,选择打开“MicrosoftVisualBasic6.0中文版”。
2、双击桌面上的VB快捷方式图标。
1.2集成开发环境
一、IDE集成开发环境:
1.布局与功能区:
运行VisualBasic6.0,在”新建工程”提示框处点击”确定”,就进入了IDE集成开发环境,如下图所示:
1)菜单与工具栏:
缺省VB只显示了标准的工具栏,根据编程的需要,应该通过右键菜单将所有的工具栏都显示出来并进行合理的排布,特别是其中的”调试”工具栏比较重要。
2)窗体设置区域:
这里是模拟运行的效果所显示的窗体,可在上面进行控件拖放等可视化设计;
根据所使用控件的不同,不一定能完全达到所见即所得的效果。
3)控件工具箱:
显示可用的控件图标,这里只缺省列举VB内置的标准控件。
4)工程浏览器:
显示各个工程以及工程所包含的各种文件的树形浏览器;
对一个工程组,可能包含多个工程,都显示在浏览器中。
5)属性浏览器:
用于显示窗体、或者窗体中当前所选择控件的属性列表;
也可以显示工程浏览器中当前所选择的其他文件的属性。
6)窗体布局:
用于直观显示当前窗体在屏幕中的布局,可拖动其中的窗体改变屏幕位置;
该区域一般不使用,为增加其他区域的可视区域可将它隐藏。
开发过程中,根据可视区域尺寸的需要,以上各个区域都可以关闭或者通过工具栏上面的按钮显示出来。
注:
图例中有一些菜单、工具条、页卡与标准的VB环境有所区别,是因为安装了CodeSmart辅助编程插件。
2.可视化设计开发:
窗体缺省是处于设计状态,在设计状态下,点击控件工具箱上面的对应控件,然后在窗体上面进行拖放,就添加了这个控件;
在窗体上面摆放多个控件,并进行拖放排布,在属性浏览器中设置它的相应属性,就是可视化设计的主要工作。
除了标准的内置控件外,可以在控件工具箱上面点击右键,选择”部件”(或者选择菜单”工程\部件”),就会弹出第三方控件列表对话框,勾选对应的控件之后,在控件工具箱上面会增加显示对应的控件图标。
在工程浏览器中,左上角的两个图标用于切换窗体的设计界面和代码书写界面,双击窗体设计界面也可以切换到代码书写界面;
代码书写界面类似下图:
其中有两个下拉框,第一个下拉框定位具体的对象(窗体或者控件),第二个下拉框定位它的具体某个事件,当事件函数在代码中不存在时,会自动产生。
除了事件函数外,也可能有一些自已书写的函数,可以在第一个下拉框中选择”(通用)”,然后就可以在第二个下拉框中找到这些函数进行定位。
VisualBaisc的代码都是由一个个的函数组成,所以又称为函数式编程。
在窗体界面设计好,代码编写完成之后,点击工具栏上面的”启动”按钮
(F5),即可运行程序;
运行程序有两种方式,一种是”启动”,一种是”全编译执行”(Ctrl+F5),全编译执行可以检查出代码中的编译错误,从好的习惯出发,一般都应该使用”全编译执行”。
程序运行之后,如果要进行调试,可以点击工具栏上面的”中断”按钮
(Ctrl+Break),即进入代码调试状态;
如果要终止程序,可以关闭窗体,或者点击工具栏上面的”结束”按钮
。
另外VB开发环境是一个开放的环境,可以在IDE环境中加载插件以提供一些辅助编程的功能,比如前面提到的CodeSmart就是一种插件;
甚至可以自已使用VB开发插件。
加载插件的方法是选择菜单”外接程序\外接程序管理器”,就会弹出外接程序管理器,并列举出可用的插件,选择对应的插件,并勾选”在启动中加载、加载/卸载”,然后在菜单中,就会自动添加相应的功能项。
VB缺省提供了一些有用的插件,下面简单介绍一下:
1)SourceCodeControlAdd-In:
这个是与VisualSourceSafe源代码管理器相集成的的一个插件,加载之后,可以直接方便地在VB环境中进行源代码的管理和处理。
关于VisualSourceSafe的集成使用,后面章节再进行介绍。
2)VB6APIViewer:
一个Windows标准API的查询和函数定义生成器,方便进行API编程。
3)VB6类生成工具:
辅助定义类,类的属性、方法、事件,设置类集合,并自动生成对应代码的工具;
这个工具可能经常使用。
4)VB6资源编辑器:
当要把图片、字符串等资源附加到工程中,一并编译到文件中时,需要使用到资源文件,这个工具可以对资源文件中的内容进行编辑。
关于工程中资源的访问,后面章节再进行介绍。
二、VB工程与文件类型:
1.可开发的工程与类型:
进入VisualBasic6.0时,会提新建的工程类型。
这里对我们常用的几种工程类型进行说明:
1)标准EXE:
开发Windows标准的exe可执行文件。
2)ActiveXDLL:
开发基于COM对象的DLL部件,通过开放公共的类接口来被其他程序所调用,其他程序可以是支持COM部件调用的任何语言编写的;
该DLL部件可能是系统中的业务组件之一,也可能是一个公共功能的组件;
3)ActiveXEXE:
与ActiveXDLL类似,可通过开放公共的类接口来被其他程序所调用;
但它是以exe的方式出现,因此相对于调用它的主程序来说,ActiveXEXE是在独立的进程中运行。
4)ActiveX控件:
同样是基于COM对象的程序,但是以控件的形式提供让其他程序调用。
工程文件组成:
窗体只是VB工程中的一种文件,VB工程(Project,prj)中可能包含的比较常用的文件类型如下:
1)窗体:
Form,用于与用户进行交互,文件扩展名为frm,文本格式,存放各个控件的属性,以及窗体中的代码;
如果窗体中包含二进制数据(比如窗体中有一张图片),就会产生同名的frx文件。
2)模块:
Modual,用于存放全局使用的公共变量、公共函数,文件扩展名为bas。
3)类模块:
Class,用于实现VB中的类,VB基于对象的编程就主要靠类模块实现,文件扩展名为cls。
4)用户控件:
UserControl,实现自定义控件时它是主要的界面设计文件,特性与窗体文件类似,扩展名为ctl,对应的二进制同名文件为ctx。
5)属性页:
PropertyPage,实现自定义控件时,对控件的属性进行设置的窗体,特性与窗体文件类似,扩展名为pag,对应的二进制同名文件为pagx。
6)资源文件:
Resource,用于存放工程中使用的,额外的图片、字符串等数据,与工程一起编译。
二进制格式,扩展名为res,一个工程中只能有一个资源文件。
以上文件的名称都可以在属性浏览器中进行设置,保存时的磁盘文件名缺省与所设置的文件名称相同,但也可以强制保存为其他磁盘文件名,不过这样是很不规范的行为,容易给管理造成混乱。
2.工程属性与启动:
1)启动工程以及工程的启动对象:
在一个工程组中(VisualBasicProjectGroup、vbg),可以包含多个工程(比如一个类型为标准exe的主工程,若干个类型为ActiveDLL的业务部件工程),但启动工程只有一个;
在C/S开发模式中,启动工程就是exe工程,在工程浏览器中选中exe工程名,点击右键,选择”设置为启动”即可;
当只有一个工程时,它缺省就是启动工程。
设置了启动工程,该工程启动的入口又有两种方式;
一种是缺省以工程中添加的第一个窗体作为启动入口;
另一种是以模块文件中的Main过程作为入口(模块中定义的PublicSubMain或者SubMain),具体可以在工程属性的启动对象中设置;
当要编写无界面交互的程序,或者在窗体显示之前先要作一些特殊处理的程序来说,SubMain启动就非常有用。
2)工程属性:
在工程浏览器中选中某个工程名,点击右键,选择”<
工程名>
属性”即可弹出工程属性设置框。
工程有一些比较重要的属性,下面分别介绍:
(1)“通用”页面:
●启动对象:
前面已经说了,用于选择窗体启动,还是SubMain启动。
这个选项主要针对exe工程,对于dll、ocx等工程,缺省为”(none)”。
(2)“生成”页面:
●版本号:
设置当前工程部件所对应的版本号,每一位允许在0-9999之间设置;
在产品化的开发中,版本号非常重要;
该属性在代码中可以通过APP.Major、Minor、Revision读取。
在Windows的文件属性中看到的版本号格式是4段的,如10.28.0.10,这里的对应设置为10.28.10。
●应用程序:
标题用于设置对工程的简称,如”药房业务部件”,这个标题同时也是工程中调用MsgBox函数进行消息提示框的缺省标题,该属性在代码中可以通过APP.Title读取。
图标用于设置工程编译后所生成文件的图标,它是通过选择工程中的某个窗体,而使用该窗体的图标作为工程编译文件的图标。
●版本信息:
设置一些附加的工程信息,一般是跟版权相关的信息,包括”产品名、公司名、合法版权、合法商标、文件描述”等,在代码中可通过APP.ProductName、CompanyName等属性访问。
工程被编译成文件之后,在Windows的文件属性中也可以查看到这些信息。
●命令行参数:
标准exe工程编译之后,由其他程序调用时可以传入命令行参数;
如果在这里输入命令行参数,就是让程序运行时,模拟进行传入,以方便程序进行调试。
(3)“部件”页面:
●版本兼容:
对于ActiveXEXE/DLL/控件这几种类型的工程,都是以COM类来开放接口,在编译生成文件时,与以前的版本的文件存在一个接口兼容性问题,在接口类的定义、函数、参数等未发生变化,或者只发生了向下兼容性的变化时,应该选择按”二进制兼容”模式进行编译,并指定要进行兼容检查的磁盘文件。
这个设置对于公用性质的部件特别重要,一旦不兼容了,使用公用部件的程序就会出错,除非也重新编译使用公用部件的程序。
3.工程编译与发布:
工程编译的方法比较简单,选择菜单”文件\生成<
”,然后指定要生成到的路径和文件名即可,标准EXE、ActiveXDLL、ActiveXEXE、ActiveX控件编译时分别生成的是exe、dll、exe、ocx文件。
要发布所编译的文件,需要将它所依赖的其他文件一并包含,依赖的的文件包括:
1)VisualBasic6.0的运行支持文件:
msvbvm60.dll,放在系统目录System32下面。
2)工程所使用到的控件文件,包括自定义控件和第三方控件文件,如mscomct.ocx。
3)工程所使用到的其他DLL组件,包括自已编写的ActiveXDLL,以及第三方的公共组件等,如msscrrun.dll。
4)工程中所涉及到要读写的其他独立文件。
VB在编译过程中,可能会生成lib、exp等一些附加文件,这些文件在编译之后可以删除。
1.3对象、属性与方法
一、VB对象的基本概念:
VisualBasic6.0是基于对象的编程,不是完全面向对象的编程,对象的继承、多态等特性不能很好地处理;
但使用对象编程仍是VB中很重要的功能,在日常工作中大量使用。
1.窗体对象:
前面提到的窗体,VB中也是一种Form类的对象,它拥有属性、方法、事件,对Form,也完全可以按照类的构建方法,自已再增加属性、方法、事件;
除了可以直接通过窗体名使用窗体外,也可以通过对象使用模式,定义基于窗体类的对象,实例化之后进行使用,如下面的代码:
方法1:
Form1.Show
方法2:
DimobjFormasForm1
SetobjForm=NewForm1
objForm.Show
2.类模块与对象:
VB中的类模块(Class)是专门用来定义类、实现对象处理的文件,定义使用一个对象的步骤如下:
1)在工程中添加一个类模块,并命名,比如clsPerson
2)在类模块中添加属性、方法、事件,比如添加两个属性”Name、Sex”,添加两个方法”Eat、Sleep”,添加一个事件”GetIll”。
3)在窗体中定义一个对象变量,并实例化,如:
DimobjPersonasclsPerson
SetobjPerson=NewclsPerson
或者
DimobjPersonasNewclsPerson
4)给该对象的属性赋值、读取,调用对象的方法。
5)使用对象的事件比较特殊,需要使用WithEvents关键字,并且需要将对象定义为窗体模块级的、单独使用New关键字进行实例化:
PrivateWithEventsmobjPersonasclsPerson
PrivateSubForm_Load()
SetmobjPerson=New
clsPerson
EndSub
PrivateSubmobjPerson_GetIll()
…
…
PrivateSubForm_Unload(CancelAsInteger)
SetmobjPerson=Nothing
也可以使用外接工具”类生成器实用工具”直观地定义类并自动生成相应代码;
关于对象类型的进一步说明,将在后续章节进行。
3.其他常用内置对象:
VB中有一些内置的对象,在日常开发工作中经常用到,下面进行简要介绍:
1)Me:
Me表示的是对象实例自身,在类模块内部使用,窗体也是一种类模块,因此在窗体中使用得非常多。
比如在Form1内部的代码中,我们可以书写Me.Caption、Me.TextBox1.Text;
通过Me关键字加”.”符号,在代码书写时可以快速找到要访问的属性、方法等;
当然在类里面,对于自身的属性、方法等,也可以不加Me前缀直接书写访问。
2)VB.APP:
当前应用程序对象,通过APP对象(可以不加VB前缀),能够读到当前工程相关的信息,比如版本号(Major、Minor、Revision),产品名(ProductName)等。
3)VB.Clipboard:
Windows剪贴板对象,可以读取剪贴板中的当前内容,也可以向剪贴板写入数据。
4)VB.Screen:
当前屏幕对象,可以读取屏幕的尺寸,精度,活动窗体等信息。
5)VB.Printer:
当前打印机对象,能够读取和设置打印机、纸张等信息,并可以打印机输出文本、图形等内容。
关于打印机编程,在应用类产品中非常重要,后面的章节将对打印机编程作进一步讲解。
除了VB内置的对象,Windows和一些第三方厂商也提供了一些公共的对象库,可以在VB中使用,比如ADO数据库操作对象,FileSystemObject文件操作对象等,要使用这些对象库的方法如下:
1)点击菜单”工程\引用”,将弹出”引用”对话框;
对话框中列举了可以使用的公共对象库,这些对象库都是基于COM的ActiveXDLL/EXE,每个工程缺省引用了VB的一些内置库。
2)找到对应要使用对象库,比如MicrosoftActiveXDataObjects2.6Library,MicrosoftExcel12.0ObjectLibrary。
3)在代码中定义公共库的对象,并实例化,比如DimobjSheetAsNewExcel.Worksheet,然后就可以使用对象的属性、方法;
如果要使用事件,则需使用WithEvents关键字定义模块级对象。
二、窗体与控件常用属性:
以下表格中,列举了窗体和控件最常见的属性,但不是说所有的控件都一定具有这些属性。
属性名
窗体
控件
类型
说明
Name
√
字符
名称,运行时只读
Caption
显示的文本标题
Appearance
枚举
一般有3D、Flat几种选择,表示窗体或控件的外观是平面的还是立体的。
Alignment
控件标题文本在内部的对齐方式
AutoRedraw
布尔
缺省为False,当设置为True时,在窗体或者控件上面作图时,不用去处理Paint事件重绘。
BoderStyle
窗体或控件的边框样式,一般有无边框、单线边框、3D边框等样式选择。
BackColor
数字
背景色
ForeColor
字体颜色或者画笔颜色
MaskColor
当控件具有背景图片时,对图片中MaskColor指定的颜色进行屏蔽透明。
UseMaskColor
所指定的MaskColor颜色值是否生效。
Font
对象
字体属性,包括字体名、字号、粗体、斜体等
IMEMode
对于可输入类控件具有,表示控件激活时中文输入法的状态,一般设置为:
NoOperation(不处理),ON(打开),Off(关闭),Disabled(禁用)
Picture
背景图片
Index
控件的索引,使用控件数组时使用,否则缺省为空;
Index>
=0,同一种控件、名称相同,Index不同的一组控件成为一个控件数组。
TabIndex
焦点顺序索引,TabIndex>
=0;
按键盘上面的Tab键时,焦点按TabIndex从小到大移动,按Shift+tab键反之。
TabStop
缺省为False,当为True时,表示按键盘Tab键时,焦点不经过该控件;
但该控件仍可获取焦点,仍可以强行用鼠标点击获取焦点。
SelStart
输入类控件具备,表示当前键盘光标所在输入内容中的位置,值为0-Len(内容)。
SelLen