VB第二章VisualBasic编程基础.ppt
VB 基础篇,第二章Visual Basic编程基础2.1 程序设计方法,第二章 Visual Basic 编程基础,2.1 对象及其操作2.2 窗体 2.3 控件,2.1对象及其操作,面向对象程序设计的基本思想对象的概念对象的建立和编辑对象的属性、事件和方法,面向对象程序设计的基本思想,面向对象编程(Object Oriented Programming,简称OOP)方法是一种用对象分析、设计并编写应用程序的方法,是一种试图模仿人们建立现实世界的程序设计方法。,面向对象程序设计的基本思想,程序设计环境及其相应的各个方面都是面向对象的,每个元素都被当作一个对象来实现。面向对象编程利用了人们对事物分类的自然倾向,引入了类的概念,具有数据抽象、继承性等特点。,面向对象程序设计的基本思想,目前在Windows环境下常用的面向对象编程语言的种类很多,如Visual Basic、C+、JAVA等,虽然风格各异,但都具有共同的思维和编程模式。,对象(object)的概念,1.什么是对象2.对象属性3.对象事件4.对象方法,1.什么是对象,对象object是具有某些特性的具体事物的抽象,是系统中的基本运行实体;对象是数据(属性)和行为(方法)的封装体;,什么是对象,什么是对象,对于系统定义的对象,用户只要使用对象的属性和方法进行相应的操作,而不必关心其内部是如何实现的。一个对象好象一个黑盒子,表示它内部属性的数据和行为的代码都封装在这个黑盒子中。,类与对象,TextBox类,CommandButton类,CommandButton对象,TextBox对象,对象的建立和编辑,(1)对象的建立(2)对象的选定(3)对象的复制(4)对象的删除(5)对象的命名,2.对象属性,对象的特征用数据来表示,用于描述对象的数据称作对象的属性 每一种对象都有一组特定的属性,根据需要它们可以在窗体的布局操作中完成,也可以在程序运行中改变,,在代码中设置属性,对象名.属性名=属性值Label1.Caption=欢迎使用VB,对象属性,VB程序中的对象都有许多属性,它们是用来描述和反映对象特征的参数。属性决定了对象展现给用户的界面具有什么样的外观及功能。不同的对象具有各自不同的属性,对象属性,控件标题(Caption)颜色(Color)字体(FontName)是否可见(Visible),对象属性,3.对象能响应的事件,(1)事件(2)事件过程(3)事件驱动程序设计,Caption等,Move等,Click,按钮对象,Command1,属性,方法,能响应的事件,Private Sub Command1_Click()Command1.Move 500,500,2000,500 Command1.Caption=“你好 Command1.Enabled=FalseEnd Sub,(1)事件,对象还可以识别和响应预定义的动作,即事件(Event),事件是对象所发生的事情。,事件,事件发生在用户与应用程序交互时,如:单击控件(Click)、键盘按下(KeyPress)、移动鼠标(MouseMove)等;有部分事件由系统产生,不需要用户输入,如计时器事件。,事件,不同的对象能够识别不同的事件,当事件发生时,VB将检测两条信息,即发生的是哪种事件和哪个对象接收了事件。,(2)事件过程,为了使对象能够对某一事件做出响应,就必须编写事件过程。当在对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就是这个事件过程。,事件过程,VB应用程序设计的主要工作就是为对象编写事件过程中的程序代码。事件过程的形式如下:,事件过程,Sub 对象名_事件(参数列表)事件过程代码End Sub,事件过程,一个命令按钮例:Sub cmdOk_Click()cmdOk.FontSize=20End Sub,事件驱动程序设计,在事件驱动的应用程序中,代码不是按照预定的路径执行,而是在响应由用户或系统激活的不同事件时执行不同的代码片段。,事件驱动程序设计,事件驱动程序设计,VB通过事件执行对象的操作。在设计应用程序时,只是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定功能,或由事件驱动程序调用通用过程执行指定的操作。,典型事件序列,1)启动应用程序,装载和显示窗体;2)对象等待事件的发生;3)事件发生时,就执行相应的事件过程(如果存在代码);4)应用程序等待下一次事件,重复执行步骤2)和3)。,事件驱动程序设计,在Visual Basic中编写事件响应代码是在代码编辑器中进行的,在代码编辑器的右边有一个事件列表,这个事件列表从属于左边的控件对象:当左边控件列表中的控件改变后,右边的事件列表也会发生变化。,事件驱动程序设计,Command1_click()过程就是响应窗体载入时所调用的过程,其中响应事件的过程名由发生事件的控件名和所发生的事件名构成。控件所响应的事件可以分为:鼠标事件、键盘事件和焦点事件等。,4.对象方法,对象的行为用对象中的代码来实现,称作对象的方法,它表示对象所能实现的功能,即告诉对象应做的事情。,方法,面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。在Visual Basic中已将一些通用的过程和函数编写好并封装起来,作为方法供用户直接调用,这给用户的编程带来了很大的方便。,方法,方法是特定对象动作的过程,是一个对象对外提供的某些特定动作的接口,是对象本身内含的程序段,当生成了个对象实例时就可以利用对象类的方法。,方法,每个方法完成某个功能,但其实现步骤和细节用户既看不到、也不能修改,程序员能做的工作就是按照约定直接调用它们,即使用各种对象的方法,只须了解它们的功能和用法,无需知道其中的奥秘。,方法,对象方法的调用格式为:对象.方法 参数名表其中,若省略了对象,表示为当前对象,一般指窗体。例如:Form1.Print Hello,World!,方法,方法的使用:当方法不需要参数也没有返回值时,使用的是:对象.方法例如,窗体Form1有个Show方法,用于显示窗体,在代码段中可用下列代码:Form1.Show,方法,当方法需要多个参数时,用逗号分隔各个参数。例如,把图片框移动位置的Move方法有四个参数:左端水平坐标,顶端垂直坐标,新宽度和新高度。我们用两个参数,左端水平坐标和顶端垂直坐标为:Picture1.Move 1000,1000,方法,如果方法没有返回值,它的参数不必用括号括起来了。如列表框对象的Additem方法没有返回值,因此,使用该方法的代码可写成:Listl.Additem 计算机学院,方法,如果在程序中,需要保留方法的返回值,则方法的参数必须用括号括起,例如从剪贴板上得到数据的方法为GetData,在使用该方法时,应返回一幅图像:Picture=Clipboard.GetData(vbCfBitmap),方法,一个对象建立以后,其操作就通过与该对象有关的属性、方法和事件来描述。它们构成了对象的三要素,可以把属性看作一个对象的性质,把事件看作对象的响应,把方法看作对象的动作。,2.2 窗体,窗体是一种对象,是所有控件的容器,是VB应用程序的基本构造模块,是运行应用程序时与用户交互操作的实际窗口。窗体有自己的属性、事件和方法,窗体的结构,AutoRedraw(自动重画)对象.AutoRedraw=Boolean 如果把AutoRedraw属性设置为True,则当一个窗体被其他窗体覆盖、又回到该窗体时,将自动刷新或重画该窗体上的所有图形。如果把该属性设置为False,则必须通过事件过程来设置这一操作。该属性的默认值为False。,窗体的属性,BackColor(背景颜色),BorderStyle(边框类型)0-None1-Fixed Single2-Sizable3-Fixed Dialog4-Fixed ToolWindow5-Sizable ToolWindow,在运行期间,BorderStyle属性是“只读”属性。也就是说,它只能在设计阶段设置,不能在运行期间改变,Caption(标题)对象.Caption=字符串,ControlBox(控制框)该属性用来设置窗口控制框(也称系统菜单,位于窗口左上角)的状态。当该属性被设置为True(默认)时,窗口左上角会显示一个控制框。,Enabled(允许)该属性用于激活或禁止 对象.Enabled=Boolean值,字形属性设置 字形属性用来设置输出的各种特性,包括字体、大小等,ForeColor(前景颜色)用来定义文本或图形的前景颜色,其设置方法及适用范围与BackColor属性相同,Height、Width(高、宽)这两个属性用来指定窗体的高度和宽度,其单位为twip 对象.Height=数值对象.Width=数值,Icon(图标)该属性用来设置窗体最小化的时图标通常把该属性设置为.ICO格式的图标文件,当窗体最小化(WindowState=1)时显示为图标 如果用程序代码设置该属性,则需使用LoadPicture函数或将另一个窗体图标的属性赋给该窗体的图标属性,MaxButton、MinButton(最大、最小化按钮)这两个属性用来显示窗体右上角的最大、最小化按钮。如果希望显示最大或最小化按钮,则应将两个属性设置为True,这两个属性只在运行期间起作用 只有当borderstyle属性值为2的时候,这两个属性才起作用,Name(名称)只读属性,在运行时,对象的名称不能改变,Picture(图形)用来在对象中显示一个图形,Top、Left(顶边、左边位置)这两个用来设置对象的顶边和左边的坐标值,用以控制对象的位置。Visible(可见性),WindowState(窗口状态)“设置值”是一个整数,取值为0、1、2,代表的操作状态分别为0-正常状态,有窗口边界;1-最小化状态,显示一个示意图标;2-最大化状态,无边界,充满整个屏幕。,窗体事件,Click(单击)事件 Click事件是单击鼠标左键时发生的事件,DblClick(双击)事件 程序运行后,双击窗体内的某个位置,Visual Basic将调用窗体事件过程Form_DblClick,窗体的创建,Initialize事件:窗体创建时,触发这个事件。窗体创建之后,窗体作为对象,没有窗口和控件,只是作为代码在内存中存在,窗体的可视部分没有调入内存。,窗体的加载,Load(装入)事件 窗体加载时,触发这个事件。窗体装载后,窗体上的所有控件都被加载,窗体有了窗口,但还没有显示。窗体装载语句:load 窗体名 或程序启动时自动装载 show方法,卸载窗体,Unload(卸载)事件 当从内存中清除一个窗体(关闭窗体或执行Unload语句)时触发该事件。如果重新装入该窗体,则窗体中所有的控件都要重新初始化。语句:unload 窗体名 unload me 卸载本窗体,Panit(绘图)事件 当窗体被移动或放大时,或者窗口移动时覆盖了一个窗体时,触发该事件,一个在窗体上画圆的例子,窗体的方法,Hide方法:窗体名.Hide Show方法:窗体名.Show Cls方法:对象.ClsMove方法:对象.Move左边距,上边距,宽度,高度Print方法Circle方法:在窗体上画圆或椭圆,窗体的状态,未创建,已创建,Initialize,装载,load,显示,show,隐藏,hide,卸载,unload,show,添加窗体,工程中新建一个窗体:在标准EXE环境中,我们只可以看到一个默认的Form1窗体,要添加窗体,可以在工程添加窗体中进行。如果要将窗体删除,可以在工程资源管理器的窗体图标上单击右键,单击移除窗体。,启动窗体的设置,程序含有多个窗体时,默认的启动窗体为Form1。想用别的窗体启动时,打开工程菜单,选取工程1属性菜单项。在通用选项卡的启动对象下拉列表框中,选取相应的窗体作为启动对象。,例:设计一个窗体,按下按钮后显示第二个窗体。第二个窗体在装载的时候装入背景图片,有“放大”,“缩小”,“换背景”“退出”四个按钮,点击“放大”,窗体放大显示,点击“缩小”,窗体缩小显示,单击“换背景”窗体的背景在两幅图片间切换,点击“退出”,退出程序。,标准控件(也称为内部控件)ActiveX控件:扩展名为ocx的独立文件可插入对象:例如microsoft word对象。其中一些对象支持ole自动化。他们可以添加到工具箱中,可以当作控件使用,2.3 控 件,测试,1 改变控件的属性有几种方法 2 窗体的BorderStyle几种类型?3一个VB源程序,最起码由哪些文件组成?4要使窗体在运行时最大化,应设置其什么属性?5做一个没有控制菜单栏的窗体,应设置什么属性?6 把一幅图片作为窗体的背景有哪几种方法,2.2 控件,