1、 第二章(第二章(1)建立简单的建立简单的VBVB程序程序2.1窗体的常用属性和方法窗体的常用属性和方法2.3对象、事件与事件过程对象、事件与事件过程2.2【例例2.12.1】建立如图所示界面 1个标签、3个命令按钮要求:要求:l程序运行,显示“欢迎”l单击“清除”按钮,不显示内容l单击“显示”按钮,显示“祝你成功!”l单击“退出”按钮,结束程序1、界面设计2、属性设置对象对象属性属性设置设置Form1 Caption VB应用程序应用程序Command1Command2Command3 Caption 显示显示(清除、退出清除、退出) Font 四号四号Label1 Caption 空空 B
2、orderStyle 1 Alignment 2 Font 楷体、粗体、二号楷体、粗体、二号3、代码编写Private Sub Form_Load() Label1.Caption = 欢迎你来学习VB!End Sub Private Sub Command1_Click() Label1.Caption = 祝你成功!End SubPrivate Sub Command2_Click() Label1.Caption = End SubPrivate Sub Command3_Click() EndEnd SubvVB是面向对象的程序设计语言面向对象程序设计是一种以对象为基础,以事件来驱动对
3、象的程序设计方法。它将一个应用程序划分成多个对象,并且建立与这些对象相关联的事件过程。通过对象对所发生的事件产生响应,来执行相应的事件过程,以引发对象状态的改变,从而达到处理的目的。v对象是对象是VBVB应用程序的基础构件应用程序的基础构件 对象是由属性属性和方法方法组成的实体实体 窗体、控件、数据库、图表等都是对象v对象具有属性和方法,并响应外部事件对象具有属性和方法,并响应外部事件 在开发一个应用程序时,必须先建立各种对象,然后围绕对象进行程序设计。v属性是指对象的特征属性是指对象的特征 每一种对象都有一组特定的属性,在属性窗口中可以看到。有些属性属于公共属性,有些属性则属于该对象的专有属
4、性。每个属性都有一个缺省值,如果不改变该值,应用程序就使用它,如果缺省值不能满足要求,就要对它重新设置。vVBVB对象的属性设置方法对象的属性设置方法对象的大部分属性可用两种方法来设置 属性窗口设置属性窗口设置 程序代码设置程序代码设置有少量的属性不能在程序代码中设置v程序中设置属性的一般格式:程序中设置属性的一般格式:对象名对象名. 属性名属性名 = 表达式表达式 动态设置动态设置例:例:Text1.text=“欢迎”属属 性性 名名功功 能能 说说 明明属属 性性 名名功功 能能 说说 明明Name对象名称对象名称Left左边距左边距ForeColor前景色前景色Top上边距上边距Back
5、Color背景色背景色Width对象的宽度对象的宽度BackStyle背景样式背景样式Height对象的高度对象的高度BorderStyle边框样式边框样式Enabled对象是否有效对象是否有效Font字体格式字体格式Visible对象是否可见对象是否可见VB对象常用的基本属性对象常用的基本属性v方法是方法是VBVB提供的一种特殊子程序提供的一种特殊子程序( (过程过程) ) 每个方法完成某个功能,用来完成诸如显示对象、隐藏对象、绘图、打印等操作。但其实现的步骤和细节用户既看不到,也不能修改,用户能做的就是在用户能做的就是在编程时直接调用它们编程时直接调用它们。v方法的调用格式:方法的调用格式
6、: 对象名对象名.方法名方法名 例:例:Form1.Print “你好!” 在窗体上输出“你好!” Form2.show 显示窗体Form2 Form1.cls 清除窗体上显示的信息v对象的事件是对象的事件是VBVB预先定义好的、能被对象识别的预先定义好的、能被对象识别的动作。动作。 如:如:单击(Click)事件 双击(DblClick)事件 键盘按下(Keypress)事件v当事件由用户触发(例如单击)或由系统触发当事件由用户触发(例如单击)或由系统触发(例如装入)时,对象就会对该事件做出响应。(例如装入)时,对象就会对该事件做出响应。 如:如:运行应用程序时,当单击一个命令按钮,对于命令
7、按钮这个对象,就发生了一个单击事件。v事件可由用户引发(例如单击鼠标),可由系统引发(例如定时器事件),也可由代码间接引发。v对象的事件是固定的,用户不能建立新的事件。v不同类型的对象能识别不同的事件。如窗体能识别单击和双击事件,而命令按钮能识别单击事件但不能识别双击事件。v每一种对象能识别的事件可以从该对象的代码窗口右边事件框的下拉列表中看到。v事件过程事件过程 响应某个事件后所执行的操作通过一段响应某个事件后所执行的操作通过一段程序代码来实现,这样的一段程序代码叫做程序代码来实现,这样的一段程序代码叫做事件过程事件过程 尽管对象能自动识别预定义的事件,但对象是否响应具体事件以及如何响应具体
8、事件则取决于程序员是否在程序中作了安排,即程序员是否为该对象的这个事件编写了实现某一功能的程序代码。事件过程的一般格式事件过程的一般格式: : Private Sub 对象名_事件名() (VB(VB程序代码程序代码) ) End Sub例如:例如:单击命令按钮“command2”,隐藏文本框text1,则对应的事件过程为: Private Sub Command2_Click() Text1.Visible=FalseText1.Visible=False End Sub VB程序的执行是由事件来驱动的以下是事件驱动应用程序的典型工作过程: (1)启动应用程序,装载和显示窗体 (2)对象等待
9、事件的发生。 (3)事件发生后,如果在相应的事件过程中存在代码,就执行代码。 (4)应用程序等待下一次事件。 1. 窗体的主要属性窗体的主要属性窗体的属性决定了窗体的外观和操作属性名属性名功功 能能 说说 明明属性名属性名功功 能能 说说 明明Name窗体名称窗体名称Picture窗体中的背景图片窗体中的背景图片Caption窗体标题窗体标题WindowState窗体运行时显示状态窗体运行时显示状态MinButton是否显示最小化按钮是否显示最小化按钮Font字体格式字体格式MaxButton是否显示最大化按钮是否显示最大化按钮CurrentX当前位置的横坐标当前位置的横坐标BorderSty
10、le窗体边框风格窗体边框风格CurrentY当前位置的纵坐标当前位置的纵坐标(1)Caption 属性属性 l设置窗体的标题栏上显示的内容l标题内容应概括说明本窗体作用(2)MaxButton 属性和属性和 MinButton 属性属性 MaxButton属性l为True时,窗体右上角有最大化按钮l为False时,窗体右上角无最大化按钮 MinButton 属性l为True时,窗体右上角有最小化按钮l为False时,窗体右上角无最小化按钮(3)BorderStyle 属性属性 l决定窗体边框式样及窗体是否能调整大小注意:注意:该属性是只读属性只读属性,即只能在设计阶段设置,不能在运行阶段设置。
11、(4)BackColor属性和属性和ForeColor 属性属性 lBackColor属性:设置窗体的背景颜色lForColor 属性:设置窗体的前景颜色。注意注意:窗体的前景颜色是执行Print方法时所显示文本的颜色。(5)Height属性和属性和Width属性属性l设置窗体的初始高度和宽度l其单位为Twipl1Twip=1/20点=1/1440英寸=1/567厘米(6)Left属性和属性和Top属性属性 l设置窗体左边框距屏幕左边界的距离和窗体顶边距屏幕顶端的距离l其单位为Twip(7)Name(名称)属性(名称)属性 l设置窗体的名称,在程序代码中用这个名称引用该窗体。l为了便于识别,用
12、户通常给 Name 属性设置一个有实际意义的名称。(8)Enabled属性属性l设置对象是否能够对用户产生的事件做出反应l为True时,窗体可对事件做出反应l为False时,窗体呈灰色,用户不能访问它l通常在程序中设置,用于临时屏蔽对窗体或其他控件的的控制。(9)Moveable属性属性 l设置是否可以移动窗体l属性值为True时,可移动窗体l属性值为False时,不可移动窗体(10)Visible属性属性l设置窗体是否被显示l属性值为True时,窗体显示l属性值为False时,窗体被隐藏l用户利用该属性可在程序代码中控制窗体的隐现(11)Picture属性属性l 设置在窗体中显示的图片l单击
13、Picture属性右边的按钮,弹出“加载图片”对话框,用户可选择一个图片文件作为窗体的背景图片。l若在程序中设置该属性的值,需要使用LoadPicture函数。例如: Form1.Picture=LoadPictureLoadPicture(路径及文件名)(12)WindowState属性属性l设置窗体启动时的大小状态l它有三个可选值: 0-Normal:0-Normal: 窗体大小由Height和Width属性决定。 1-Minimized:1-Minimized: 窗体最小化成图标。 2-Maximized:2-Maximized: 窗体最大化,充满整个屏幕。(13)Icon属性属性l设置
14、窗体的图标lIcon的使用方法同Picture属性l通常把该属性的值设置为.ico格式的图标文件(14) Controlbox 属性属性l设置窗体的控制菜单的显示l属性值为True时,窗体左上角有控制菜单和最大化、最小化、关闭按钮;l属性值为False时,则只显示标题。l控制菜单以图标方式显示(15)Font属性属性l设置在窗体上显示文本的字体属性例如: 在窗体单击显示文字“VB程序设计”代码编写代码编写Private Sub Form_Click() With Form1 FontName = 黑体黑体 FontSize = 20 FontBold = True FontItalic = T
15、rue FontUnderline = True Print VB程序设计程序设计 End WithEnd Sub运行界面如图所示:(16)AutoRedraw属性属性l该属性决定当窗体上显示的内容被其它窗口覆盖后,重新回到原状态时内容是否可见。l属性为True时,被其它窗口覆盖的内容会重新显示l属性为False时,被其它窗口覆盖的内容如同用橡皮擦除一样,不再显示在在VB中,虽然不同的对象有不同的属性集合,但中,虽然不同的对象有不同的属性集合,但有一些属性,如:有一些属性,如:Name 、Enabled、Visible、Height、Width、Left、Top等其他控件也都具有,等其他控件也
16、都具有,且具有相似的作用。且具有相似的作用。2.2.窗体的事件窗体的事件简简 单单 划划 分分事事 件件 名名功功 能能 说说 明明启动启动Initialize初始化事件初始化事件Load载入事件载入事件卸载卸载QueryUnload卸载前触发卸载前触发Unload卸载时触发卸载时触发鼠标操作鼠标操作Click单击事件单击事件DblClick双击事件双击事件活动状态活动状态Activate激活事件激活事件Deactivate失去激活事件失去激活事件焦点焦点GotFocus获得焦点事件获得焦点事件LostFocus失去焦点事件失去焦点事件其他其他Resize改变窗体大小事件改变窗体大小事件(1)
17、Click事件事件l程序运行后,单击窗体触发该事件(2)DbClick事件事件l程序运行后,双击窗体触发该事件(3)Load事件事件lLoad事件是窗体被装入内存工作区时触发的事件l运行应用程序,如果该事件过程存在,在装入窗体后,系统首先触发窗体的该事件。lLoadLoad事件过程通常用于启动程序时对属性、变量事件过程通常用于启动程序时对属性、变量的初始化,装载数据等的初始化,装载数据等。(4)Activate事件事件l当一个窗体被激活时触发该事件。其表现成为当前活动窗体。l运行窗体、使用show方法、单击一个对象等都可激活窗体触发该事件。(5)Resize事件事件l程序运行后,调出窗体和调整
18、窗体的大小时触发该事件。(6)KeyPress事件事件l程序运行后,当用户按下键盘上某个键时触发该事件。3. 窗体的常用方法窗体的常用方法方方 法法 名名功功 能能 说说 明明方方 法法 名名功功 能能 说说 明明Print输出打印输出打印Move移动窗体移动窗体Cls清屏清屏PrintForm打印窗体打印窗体Show显示窗体显示窗体Refresh刷新窗体刷新窗体Hide隐藏窗体隐藏窗体v方法的语法结构: 对象对象.方法方法参数列表参数列表(1)Print方法方法l用于在对象上输出表达式的值 格式:格式: 对象名对象名.Print spc(n)|tab(n) 表达式列表表达式列表; | ,(2
19、)Cls方法方法l用于清除在窗体窗体上显示的信息或图形框图形框中的显示的文本或图形 格式: 对象名对象名. Cls 插入空格 定位输出 标准格式输出 紧凑格式输出(3)Show和和Hide方法方法 l用于快速显示或隐藏窗体 格式:格式: 窗体名窗体名. Show Style 窗体名窗体名. Hide lHide方法无参数,Show方法参数可有可无l若Style参数为0,或参数为vbModeless以及默认时,表示窗体是无模式的,用户可以和应用程序中的其他窗体交互;l若Style参数为1,或参数为vbModel时,表示窗体是有模式的,用户不能同时与应用程序的其他窗体交互。(4)Move方法方法l
20、用于移动并改变窗体或控件的位置和大小 格式:格式: 对象名对象名.Move Left,Top,Width,HeightlLeft、Top、Width和Height 4个参数分别可以设置对象移动后其左上顶点的横坐标和纵坐标,以及改变大小后的宽度和高度。l除了Left参数是必选的,其他参数都是可选的,但要保证最后一个参数前面的参数是完整的。4. 窗体的常用语句窗体的常用语句(1)Load语句语句:将窗体或其他控件对象载入内:将窗体或其他控件对象载入内存但不显示。存但不显示。 语句格式:语句格式:Load 对象名对象名(2)Unload语句语句:使该对象的所有属性重新恢:使该对象的所有属性重新恢复为
21、设计状态时设定的初始值,并且还将引发对复为设计状态时设定的初始值,并且还将引发对象的卸载事件。象的卸载事件。 语句格式:语句格式:Unload 对象名对象名(3)End语句语句 :结束程序的运行:结束程序的运行 语句格式:语句格式:End对象名可以是对象名可以是Me,表示卸载当前窗体。表示卸载当前窗体。 例例1:1:窗体上无最大化最小化按钮,程序运行后,在窗体上装入一幅图片作为背景;当单击窗体时,窗体变宽;当双击窗体时,则退出。程序运行界面如图示。 (a) Load事件事件(b) Click事件事件属性设置如表所示属性设置如表所示对象对象属性属性设置设置Form1Form1CaptionCaption窗体事件练习窗体事件练习MaxButtonMaxButtonFalseFalseMinButtonMinButtonFalseFalse事件过程如下:Private Sub Form_Load() 装入图片 Form1.Picture = LoadPicture(“d:pic1.bmp)End SubPrivate Sub Form_click() 单击窗体 Form1.Width = Form1.Width + 1000End SubPrivate Sub Form_DblClick() 双击窗体 EndEnd Sub