资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第二章 简单的,VB,程序设计,2.1 面向对象中的概念,一、对象和类,在面向对象的程序设计思想中,自然界中所有事物(包括计算机中的事物)都可以被看作一个个的对象(,Object)。,这些对象可能属于同一个类(,Class),,也可能属于不同的类。,类:,是同一事物的统称。,对象,:是类的实例化。,如:下图,有三个类:人、纸片、桌子,有9个对象:,Windows,中的对象,当今的应用程序都是基于,Windows,的。即其界面都应当和,Windows,具有一致性。而,Windows,界面中的几乎所有元素都可以看成对象。,二、对象的建立和编辑,有以下几个操作:建立、选定、删除、命名,我们以建立如下窗口为例来介绍,类型名,前缀,对象名举例,CheckBox,复选框,Chk,chkReadOnly,ComboBox,组合框,Cbo,cboHobby,commandButton,命令按钮,Cmd,cmdExit,CommonDialog,公共对话框,Dlg,dlgFileOpen,Control,控件,Ctr,ctrCurrent,Dagta,数据,Dat,datBook,DirListBox,目录列表框,Dir,dirSource,DrvListBox,驱动器列表框,Drv,drvTarget,FileListBox,文件列表框,Fil,filSource,Form,窗体,Frm,frmPassword,Frame,框架,Fra,fraLanguage,HScrollBar,水平滚动条,Hsb,hsbVolume,Image,图象,Img,imgIcon,Label,标签,Lbl,lblHelpMessage,Line,直线,Lin,linVertical,ListBox,列表框,Lst,lstPolicyCodes,Menu,菜单,Mnu,mnuFileOpen,OptionButton,单选框(选项钮),Opt,optMale,PictureBox,图片框,Pic,picPhoto,Shape,形状,Shp,shpCircle,TextBox,文本框,Txt,txtName,Timer,定时器,Tmr,tmrAlarm,VScrollBar,垂直滚动条,vsb,vsbAge,三、对象的属性、事件和方法-对象的三要素,1、属性:用来描述和反映对象特征的多个参数,而各个参数值就是该对象的属性值。如:命令按钮的属性可以有:,Name、Caption、Color、Font,等,设置对象属性的方法:,(1)在设计界面阶段利用属性窗口直接设置;,(2)在程序代码中利用赋值实现。,格式为:对象.属性=属性值,如:,Command1.caption=“,确定”,Label1.FontName=“,黑体”,Label1.FontSize=24,对象的通用属性,对象的位置和尺寸属性(见,P23,图1.2.8),(1),Left:,控件相对于容器的,X,坐标;,(2),Top:,控件相对于容器的,Y,坐标;,(3),Width:,控件的宽度;,(4),Height:,控件的高度。,注意:能包含其它控件的控件称为容器(控件)。,对象的颜色和字体属性,(1),BackColor:,设置控件的背景颜色;,(2),ForeColor:,设置控件里显示图片和文本的前景颜色;,(3),Font:,设置控件的文字字体,名称属性,Name,该属性是所有对象都具有的属性,是唯一的,在创建时,系统会给一个默认的名称,可根据需要进行修改,。,注意:在程序代码中可以通过以下方法来设置颜色,使用,RGB,函数:,如:,Form1.BackColor=RGB(255,0,0),此处,,RGB,函数的三个参数分别对应红、绿、蓝三种颜色,取值在0-255之间,0为亮度最低,255为亮度最高。,使用,VB,内部提供的颜色常量,VB,内部可以直接使用的颜色常量有8种:,vbBlack、vbRed、vbGreen、vbYellow、vbblue、vbMagenta(,紫红色)、,vbCyan(,青色)、,vbWhite,如:,Form1.BackColor=vbMagenta,另外:,Font,有以下系列属性,FontName:,字体类型。如:黑体、宋体、楷体等,FontSize:,字体大小(磅)。如:8、12、16等,还有:,fontBold(,粗体)、,FontItalic(,斜体)、,FontStrikethru(,删除线)、,fontUnderline(,下划线),这些属性值为逻辑型。,对象的默认属性,是指在运行时可以直接用某个对象的对象名来改变对象某个属性值。一般情况下:,(1),Caption:Form、Frame、Label、CommandButton,等控件使用。,(2),Text:Text、ListBox、ComboBox,等控件使用,(3),Value:CheckBox、OptionButton、HScrellBar、VScrollBar,等控件使用。,这样,,Text1.text=“,计算机”等价与,Text1=“,计算机”,控件的可见和可用,(1),Enabled:,设置一个控件是否可以使用。默认值为,True。,(2)Visible:,设置一个控件是否可以看见。默认值为,True。,2、事件、事件过程和事件驱动,(1)事件,对于对象而言,事件就是发生在该对象上的事情(或消息)。在,VB,中,系统为每种对象预先定义好了一系列事件。以下是一些通用事件:,Click,事件:当一个控件上按下并放开鼠标时发生的事件。,DblClick:,当鼠标被迅速按下并放开两次时发生的事件。,KeyPress,事件:按下一个对应某,ASCII,字符的键时触发该事件。,KeyDown,事件:按下键盘的任意键触发该事件。,KeyUp,事件:放开键盘的任意键触发该事件。,MouseMove,事件:移动鼠标指针时触发该事件。,MouseDown,事件:按下鼠标的任意键触发该事件。,MouseUp,事件:放开鼠标的任意键触发该事件。,GotFocus,事件:当对象获得焦点(光标处于此对象上或该对象为当前活动状态)时触发该事件。,LostFocus,事件:当对象失去焦点时触发该事件。,Change,事件:当一个控件的内容发生改变时触发该事件。,(2)事件过程,当在对象上发生事件后,应用程序就要处理这个事件,而处理的步骤就是事件过程。它是针对某一个对象的过程,并与该对象的一个事件相联系。,VB,应用程序设计的主要工作就是为对象编写事件过程中的程序代码。事件过程的形式如下:,Private Sub,对象名_事件(参数列表),.事件过程代码,End Sub,说明:这是,VB,中所有对象事件过程的语法结构。编程者只需把该对象的事件代码填写在事件过程代码区即可。其它的由系统自己给出。,如:单击,Command1,命令按钮,使命令按钮的字体大小改变为20磅,则对应的事件过程如下:,Private Sub Command1_Click(),Command1.FontSize=20,End Sub,注意,:当用户对一个对象发出一个动作时可能同时在该对象上发生多个事件。例如,单击鼠标,同时发生了,Click、MouseDown,和,MouseUp,事件。但我们写程序时,并不要求对这些事件都进行编写代码,而只对感兴趣的事件过程编码。没有编码的是为空事件,系统也不会处理这些事件过程,(3)事件驱动,在传统的面向过程的应用程序中,应用程序自身控制了执行哪一部分代码和按何种顺序执行代码,即代码的执行是从第一行开始,随着程序流执行代码的不同部分。程序执行的先后次序有设计人员编写的代码决定,用户无法改变程序的执行流程。,但在,VB,中,程序的执行发生了根本的变化。程序执行后系统等待某个事件的发生,事件发生后,系统再去执行处理该事件的事件过程,待该事件过程执行完后,系统又处于等待事件发生的状态,这就是,事件驱动,。而面向对象的程序设计方法也就,事件驱动程序设计方法,。,VB,程序的执行步骤如下:,启动应用程序,装载和显示窗体;,窗体(或窗体上的控件)等待事件的发生;,事件发生时,执行对应的事件过程;,重复执行步骤2、3。,如此周而复始地执行,直到遇到,END,结束语句结束程序的运行或单击“结束”按钮强行停止程序的执行。,3、方法,VB,中为程序设计人员提供了一种特殊的过程和函数(此处称为方法)。这些方法已经写好并封装起来,作为方法供用户直接调用。调用格式为:,对象.方法名 参数名表,若省略其中的对象,则表示为当前对象,一般指窗体。,如:,Form1.Print”,欢迎您使用,VB6.0”,通用方法,Move,方法:移动控件或改变控件的大小,如:,Form1.Move 0,0,600,300,注:,Move,后面的四个参数分别是对象的四个属性,Left、Top、Width,和,Height,SetFocus,方法:使控件获取焦点。,如:,2.2建立简单的应用程序,建立一个应用程序的步骤为:,新建一个工程,在该工程中添加窗体,设计界面,编写事件代码,运行程序,反复进行测试,使之达到预期效果,编译程序,产生,EXE,执行文件,制作安装包,例:设计一个程序,窗口中显示欢迎词并提供一个进入按钮和退出按钮,如果选退出则关闭程序,如果选进入则打开另外一个窗口,此窗口中有四个图标。(结果见下页),注意:此题有一个如何设置多窗体的问题,2.3 窗体和基本控件,一、窗体,1、主要属性,1)、,Caption:,标题。决定窗体标题栏显示的内容,2)、,BorderStyle:,边框样式。决定窗体的外观特征。共6种。含义见,P28,3)、,Controlbox、MaxButton,和,MinButton:,控制菜单框、最大化按钮和最小化按钮。其值为布尔型,注意:当,ControlBox,为,False,时,,MaxButton,和,MinButton,自动设置为,False,4)、,Moveeable:,可否移动。缺省为,True,5)、Picture:,背景图片。可在属性窗口中直接设置,也可在程序代码中设置。如:,form1.picture=loadpicture(“c:windowswebwallpaperwind.jpg”),6)、,WindowsState:,初始大小。指定窗口运行时的可视状态。共3种状态。见,P28,7)、,ScaleHeight、Scalewidth:,窗体内部尺寸(除去标题栏、菜单栏、工具栏,)。,其值分别表示当前窗体的高度和宽度。,2、主要事件,窗体从开始显示到最后关闭可以称为一个生命周期,而在这一个周期的每一个阶段都会有一个特征事件来反映窗体当前的状态。看下图。,创建,发生,Initialize,事件,加载,发生,Load,事件,获得焦点,发生,Activate,和,GotFocus,事件,失去焦点,发生,Deactivate,和,LostFocus,事件,卸载,发生,QueryUnload、,UnLoad,和,Terminate,事件,可见,1),Initialize,事件,它是一个窗体创建时最先执行的事件,此时窗体对象仍然处在外存中,执行的只是窗体的代码部分,如:设置全局变量等初始化工作。,2),Load,事件,此事件使窗体及所有控件都进入内存,但界面仍未显示。此阶段也可放置一些初始化代码。如果在程序中要加载窗体,可使用,Load,语句。格式为:,Load,窗体名,3),Activate,和,Deactivate,事件,当窗体执行一个,activate,事件后,窗体被激活,窗体被显示,同时窗体自动发生,gotfocus,事件,反之,当窗体发生,lostfucus,事件时,同时也就自动发生,deactivate,事件,此时,另外一个窗体被激活。,注意,:,activate,事件常和,setfocus,方法联用。如:
展开阅读全文