《第二章VB的对象与课件.ppt》由会员分享,可在线阅读,更多相关《第二章VB的对象与课件.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章 VB VB的对象与编程特点的对象与编程特点 2.1 面向对象变成的基本概念2.2 基本属性、事件和方法2.3 VB程序的运行过程2.4 简单程序开发实例 作为功能强大的Windows环境下应用程序开发工具,VB 以其独特的程序设计方式和简单的程序设计过程而被众多用户所使用。本章主要讲述VB中对象的特点、VB程序设计过程和常用属性、事件和方法。2.1 2.1 面向对象编程的基本概念面向对象编程的基本概念 VB采用的是面向对象和按事件驱动的机制。程序员只需要编写某些对象的事件过程程序,例如单击事件等,而不必考虑按精确次序执行的每个步骤,编写代码相对较少,就可以快速创建强大的应用程序。
2、这种事件编程的机制就是通常所说的“可视化编程”方式。利用面向对象的概念进行软件开发,符合我们的思维逻辑。2.1.1 VB2.1.1 VB的类与对象的类与对象 类(Class)和对象(Object)是面向对象程序设计中重要的基本概念。类是对客观实体的抽象化,是数据和处理这些数据过程的封装,而对象是类的具体实例化。VB中的对象就是由类创建,对象则是类的具体实例。类就像模板,它定义了一组大体上相似的对象,确定由它生成对象所具有的公共特征和功能。例如:人类就是一个类,而张三同学就是这个类的一个具体实例,即对象。在VB环境下,常用的对象有工具箱中的控件、窗体、菜单、应用程序的部件和数据库,除此之外,VB
3、还提供了系统对象,如打印机(Printer)等。在窗体上创建对象时,可以单击工具箱上要创建的对象图标,然后在窗体上合适位置画出对象来。初步建立的对象只是一个“空对象”,其操作需要通过对该对象有关的属性、事件和方法进行描述。2.1.2 2.1.2 属性属性 属性(Property)是指一个对象所具有的性质和特征,是反映对象特征的参数,这些性质可能是外在的,也可能是内在的。如:某个人姓名为张三,性别为男,身高为1.7米,性格外向,爱好篮球,这些都是这个人的属性;其中,“姓名”、“性别”、“身高”是外在属性,“性格”、“爱好”是内在属性。而“张三”、“男”、“1.7米”,“外向”,“篮球”就是相应的
4、属性值。不同的对象有不同的属性,不同的属性又可以有不同的属性值,改变属性值就改变了对象的特征。在VB中,属性值的改变可以通过属性窗口和程序代码两种方法来实现:(1)先选定对象,然后在属性窗口中找到相应属性直接修改。此方法的特点是简单明了,每次选择一个属性时,其属性窗口的下部就显示该属性的一个简短说明;缺点是不能修改所有需要的属性。(2)通过程序代码修改属性值,其语法格式为:对象名.属性名=属性值 例如:设置标签Label1的标题为“北京欢迎你”的语句为:Label1.Caption=北京欢迎你 需注意的是:并不是所有的属性在运行时都可以修改的。对象的属性可分为两类:在程序运行时可以修改并可获得
5、值的属性称为读写属性;在运行时只能够读取的属性称为只读属性。读取属性值可以通过程序代码实现,例如:strName=Label1.Caption 表示将标签Label1的标题内容赋值给变量strName。2.1.3 2.1.3 方法方法 方法(Method)是对象的行为,即将一些通用的过程编写好并封装起来,作为方法供用户直接调用。在VB中,方法实际上是指对象本身所包含的一些特殊函数或过程,利用对象内部自带的函数或过程,可以实现对象的一些特殊功能和动作。例如,窗体的Show方法可以用来显示窗体,列表框的AddItem方法可以用来在列表框中添加数据项。VB的方法通过程序代码调用,其语法格式为:对象名
6、称.方法名称例如:在程序中调用List1列表框的AddItem方法,使List1中添加数据项“China”,其程序代码为:List1.AddItem China 如果调用方法时,省略了“对象名称”,那么所调用的方法作为当前对象的方法。通常当前窗体作为当前对象。例如:Print China 运行时,在当前窗体上显示字符串“China”。VB中提供了大量的方法,有些基本方法适于多数对象,而有些方法只适用于少数对象。2.1.4 2.1.4 事件事件 事件(Event)是指对象能够识别并做出反应的外部刺激。例如单击(Click)事件、双击(DblClick)事件、鼠标移动(MouseMove)事件、装
7、载(Load)事件等。每一种对象能识别的事件是不同的。尽管每一种对象所支持的事件很多,但实际上,一个程序中往往只用到其中几种,可根据实际需要选定。当事件由用户触发(比如单击)或由系统触发(比如装载)时,对象就会对该事件做出响应,响应某个事件后执行的程序代码就是事件过程。事件过程的一般编写格式如下:Private Sub 对象名_事件(参数列表)程序代码End Sub2.1.5 2.1.5 控件控件 控件(Controls)是 VB 通过控件箱提供的与用户交互的可视化部件,是构成用户界面的基本元素。VB中的控件通常分为三类:(1)标准控件(或称内部控件):在默认状态下工具箱中显示的控件,这些控件
8、被“封装”在VB 的.exe 文件中,不可从工具箱中删除,如表2.1所示。(2)ActiveX控件:为了方便用户设计功能强大的复杂应用程序,VB和第三开发商提供了大量的ActiveX控件。这类控件单独保存在.ocx类型的文件中,例如在专业版和企业版中提供的公共对话框、动画、MCI控件等。(3)可插入对象:用户可将 Excel工作表或 PowerPoint幻灯片等作为一个对象添加到工具箱中,编程时可根据需要随时创建可插入对象。利用控件创建对象是VB编程的重要工作之一,它可以使程序员免除大量重复性的工作,能够以最快的速度和效率开发具有良好用户界面的应用程序。表2.1 标准控件简介2.1.6 2.1
9、.6 窗体窗体 窗体(Form)是一种对象,由属性定义其数据、由方法定义其行为、由事件定义其交互。一个窗体实际上就是一个窗口,它是VB编程中最常见的对象,也是程序设计的基础。各个控件对象必须建立在窗体上,一个窗体对应一个窗体模块。就如我们所看到Window环境下的应用程序窗口一样,VB中的窗体具有标题栏和边框。程序员还可以根据自身的需要在窗体上添加菜单栏、工具栏和状态栏。对于窗体的操作也和Window环境下的窗口操作一样,在运行时,用鼠标拖动标题栏可以移动窗体;将鼠标移动到窗体边框,当出现双箭头时拖动鼠标可以改变窗体的大小。用户也可以通过控制菜单对窗体的位置、大小进行控制。2.2 2.2 基本
10、属性、事件和方法基本属性、事件和方法 窗体和控件是VB程序设计中的两个重要概念,它是创建一个VB应用程序界面的基本构造模块。作为对象他们拥有常用的基本属性,同时,很多控件和对象拥有常用的基本事件和基本方法。本节介绍窗体或控件的基本属性、事件和方法。在VB中,常用的属性如表2.2所示,这些属性为大多数标准控件和窗体所共有。表2.2 控件或窗体的基本属性 2.2.1 2.2.1 基本属性基本属性(1)Name 属性 Name属性表示名称属性,即对象的标识。VB中任何对象都具有Name属性,是VB创建的对象名称。在VB创建对象的过程中,系统根据对象的类别会自动给出默认的名字。例如,VB程序创建第一个
11、Text文本框的默认名字为Text1。但是,用户往往根据程序设计的规范习惯,重新对对象的Name属性赋值。在程序中,Name属性仅起到表示的作用而引用,不会显示在窗体上。(2)Height、Width、Top和Left属性 Height、Width、Top和Left属性,决定控件或对象在界面上的位置和大小,其属性值应用单位为Twip,单位换算如下:1Twip=1/20点=1/1440英寸=1/567cm。(3)Caption 属性 Caption表示标题属性,即对象的标题。对于窗体,该属性是显示在标题栏中的文本;对于控件,该属性是显示在控件中或是附在控件之后的文本。创建对象时,其缺省标题与缺省
12、的Name属性值相同。例如,第一个窗体,其缺省的名称和标题均为Form1。(4)Enabled属性 Enabled属性设置对象在程序运行时有效或无效,其属性值分别为True(缺省值)和False。其中,True:允许用户进行操作,并对操作做出响应。False:对象呈灰色,禁止用户进行操作。(5)Visible属性 Visible属性决定对象在程序运行时是否可见。同Enabled属性一样,Visible属性的取值也只有两种True(可见,缺省值)和False(不可见)。(6)AutoRedraw属性 该属性决定窗体被隐藏或被另一窗口覆盖之后是否重新显示,是否重新还原该窗体被隐藏或覆盖以前的画面,
13、即是否重画。当属性值为True时,重新还原该窗体以前的画面。当属性值为False时,则不重画。(7)颜色属性 VB的窗体和许多控件都有或多或少的颜色属性,常用的有:BackColor(对象的背景颜色)、ForeColor(在对象中显示的图形或文本的前景颜色)、BorderColor(对象的边框颜色)、FillColor(填充形状的颜色)。在VB的各种对象中,大部分窗体和控件都支持以下基本事件:(1)Click单击事件:此事件是在一个对象上按下然后释放某个鼠标键时发生。如:单击窗体、命令按钮、单选按钮、复选按钮、列表框、组合框等控件时触发。(2)DblClick双击事件:此事件是在一个对象上连续
14、两次按下和释放鼠标键时发生。(3)Load事件:窗体被装入时触发的事件。该事件通常用来在启动应用程序时对属性和变量进行初始化。2.2.2 2.2.2 基本事件基本事件(4)Unload事件:卸载窗体时触发该事件。(5)Resize事件:无论是因为用户交互,还是通过代码调整窗体的大小,都会触发一个Resize事件。(6)KeyPress事件:按键事件。(7)MouseDown/MouseMove/MouseUp:鼠标按下/鼠标移动/鼠标松开事件。(8)Initalize事件:初始化事件,在Load事件后发生该事件。(9)Activate/Deactivate事件:激活和非激活事件。例如,当A窗体
15、变成活动窗体时,A窗体发生Activate事件;当另一个窗体被激活时,A窗体发生Deactivate事件。2.2.3 2.2.3 基本方法基本方法窗体常用的方法有:打印输出Print、移动Move、清除Cls、显示Show、隐藏Hide等方法。(1)Print方法格式:对象.PrintSpc(n)|Tab(n)表达式列表;|,作用:在对象上输出信息对象:窗体、图片框或打印机(Printer),省略对象时在窗体上输出 说明:Spc(n)函数:用于在输出时插入n个空格,允许重复使用。Tab(n)函数:用于在输出表达式列表前向右移动n列,允许重复使用。;(分号):用于紧凑格式输出。光标定位在上一个显
16、示的字符后。,(逗号):用于分区格式输出。光标定位在下一个打印区的开始位置处。每个打印区占14列。无;(分号)与,(逗号):表示输出后换行。开始打印的位置是由对象的CurrentX和CurrentX属性决定,缺省为打印对象的左上角(0,0)。【例2.1】Print方法的应用:在窗体Form1的单击事件中写入如下代码:Private Sub Form_Click()a=10 b=3.14 Print a=;a Print b=,b Print a=;a,b=;b Print 空一行 Print 123456789012345678901234567890 Print a=;a,Print b=;
17、b Print Tab(18);a=;a Print Spc(18);b=;bEnd Sub运行程序运行程序按F5运行程序,单击窗体后,看到图2.1所示的运行结果。图2.1 例2.1程序运行结果图(2)Cls方法 格式:对象.Cls作用:清除运行时在窗体或图片框中显示的文本或图形。注意:不清除在设计时的文本和图形。清屏后当前坐标回到原点。(3)Move方法格式:对象.Move 左边距离,上边距离,宽度,高度作用:移动窗体或控件,并可改变其大小。对象:可以是窗体及除时钟、菜单外的所有控件。说明:左边距离,上边距离,宽度,高度:数值表达式,以twip为单位。如果是窗体对象,则“左边距”和“上边距”
18、是以屏幕左边界和上边界为准。其它则是以窗体的左边和上边界为准。【例2.2】使用Move方法移动一个窗体。双击窗体,窗体移动并定位在屏幕的左上角,同时窗为了实现这一功能,可以在窗体Forml的“代码”窗口中输入下列代码:Private Sub Form_DblClick()Form1.Move 0,0,Form1.Width/2,Form1.Height/2End Sub体的长宽也缩小一倍。(4)Show(显示)方法Show方法用于在屏幕上显示一个窗体,调用 Show 方法与设置窗体 Visible 属性为 True 具有相同的效果。其调用格式如下:窗体名.Show vbModal|vbMode
19、less【例2.3】实现将指定的窗体在屏幕上进行显示或隐藏的切换。为了实现这一功能,可以在窗体Forml的“代码”窗口中输入下列代码:Private Sub Form_Click()Form1.Hide 隐藏窗体 MsgBox 单击确定按钮,使窗体重现屏幕 Form1.Show 重现窗体End Sub2.3 VB2.3 VB程序的执行过程程序的执行过程 一个VB应用程序(工程)通常是由多种类型的文件构成,其中最主要的就是窗体模块和标准模块。与该工程有关的全部文件和对象的清单,以及所设置的环境选项方面的信息都保存在工程文件中(扩展名.vbp)。一个典型的VB程序的执行主要包含以下步骤:(1)启动
20、应用程序,装载和显示窗体;(2)窗体(或窗体上的控件)等待事件的发生,实质是对象等待事件的发生;(3)事件发生时,对象执行对应的根据用户编写的程序(程序中包含对象对其方法的调用);(4)重复执行步骤(2)和(3);(5)直到遇到“END”结束语句结束程序的运行或按“结束”按钮强行停止程序的运行。2.4 2.4 简单程序开发实例简单程序开发实例 VB之所以得到迅速流行和广泛适用,与其编程的特点密不可分。首先,VB具有可视化的特点,也就是说VB将传统的GUI界面元素(如窗体、菜单、按钮、文本框等)视作不同的属性数据和操作程序封装而成的对象,实现了“所见即所得”的操作效果,程序员只需简单的控件选择就
21、完成了程序界面的设计工作;其次,VB面向对象的特点,采用事件驱动的编程机制,用户只需对每个对象需要响应的事件分别编写程序代码,而不需要考虑整个程序运行过程的控制;再次,简单易学的Basic语言和Microsoft Visual Basic 交互的集成开发环境,降低了程序可能的错误,提高了调试程序的效率。基于以上的优点,建立一个VB应用程序,一般经过以下步骤:(1)建立用户界面的对象;(2)对象属性的设置;(3)对象事件过程及编程;(4)程序运行和调试;(5)保存文件。下面通过一个简单的实例,掌握VB程序设计的一般过程。【例2.4】幸运七游戏。程序运行时如图2.2所示,当用户单击开始按钮时,就会
22、在三个标签框中各随机显示一个09之间的数字,如果其中有一个或多个7时,则在窗体上出现“恭喜你,中奖了!”,如图2.3所示;否则,出现“很抱歉,没中奖!”,如图2.4所示。用户单击结束按钮,则程序结束。图2.2 例2.4程序运行结果图1图2.4 例2.4程序运行结果图3 图2.3 例2.4程序运行结果图2分析:第一步:新建一个工程文件(1)启动VB 后新建一个工程在桌面上依次选择“开始”“程序”“MicroSoft Visual Basic 6.0”程序组“MicroSoft Visual Basic 6.0”,启动VB,屏幕上显示“新建工程”对话框,如图1.1所示。单击“打开”按钮。(2)重新
23、建立一个工程从“文件”菜单中选择“新建工程”命令或按Ctrl+N快捷键,系统将关闭当前工程,提示用户保存所有修改过的文件。屏幕显示“新建工程”对话框,如图2.5所示。单击选定“标准EXE”,再单击“确定”按钮。VB将创建一个带有单个新文件的新工程。第二步:用户界面设计。从图2.2中可以直观看出,该界面包括4个标签(Label)控件、2个命令按钮(CommandButton)控件。又由于要在窗体上出现“恭喜你,中奖了!”或“很抱歉,没中奖!”,则再添加1个标签(Label)控件。从工具箱中用鼠标单击工具,并拖放到窗体中相应的位置,调整其大小,进行合理的布局。图2.5“新建工程”对话框第三步:对象
24、属性的设置。第三步:对象属性的设置。表表2.3 2.3 窗体和各对象的相关属性的设置窗体和各对象的相关属性的设置第四步:对象事件过程代码的编写。Private Sub Command1_Click()Randomize Label1.Caption=Int(Rnd*10)pick numbers Label2.Caption=Int(Rnd*10)Label3.Caption=Int(Rnd*10)if any caption is 7 display coin stack and beep If(Label1.Caption=7)Or(Label2.Caption=7)Or(Label3.C
25、aption=7)Then Label5.Caption=恭喜你,中奖了!Label5.ForeColor=vbRed Else Label5.Caption=很抱歉,没中奖!Label5.ForeColor=vbBlue End IfEnd SubPrivate Sub Command2_Click()EndEnd Sub第五步:调试与运行 选择“运行”|“启动”或按F5键或“运行”按钮 ,进入运行状态。如果出现错误或者效果不理想,则需要单击“结束”按钮 反复调试,直到得到正确结果。第六步:保存文件 从“文件”菜单中选择“保存工程”命令,系统将更新当前工程的工程文件及其全部窗体、标准模块和类模块。在保存时,需保存应用程序的相应文件内容,如:保存窗体文件(后缀名.frm)和工程文件(后缀名.vbp)。本章总结本章总结 本章主要介绍了VB的基础理论和基本应用,主要包括VB中面向对象编程的基本概念、VB程序设计过程和常用属性、事件和方法。本章内容是VB程序设计的最基本的知识。通过本章的学习,读者应该能够深入了解面向对象的编程思想,熟练掌握常用的属性、方法、事件等基础知识,为以后的学习打下基础。