1表单设计一.面向对象的基本知识:1.类(Class)是定义了对象特征以及对象外观和行为的模板,用户可根据类创建对象。2.类可以由已存在的类派生而来,类之间是一种层次结构,处于上层的类称为父类,处于下层的类称为派生类。3.类的特点:继承性,封装性,多态性4.类的继承方式:单一继承,多重继承5.类的分类:容器类,控件类6.对象(Object)1)定义:对象可以是任何的具体事物,反映客观事物属性及其行为特征的描述。2)对象的属性:标识了对象的性质,特征和行为。3)对象的方法:对象可执行的动作。每个方法都有一段默认的代码与其相对应,这些代码是在创建类时定义编写的。(SHOW等)4)属性和方法可以由用户来创建。5)事件(EVENT)是由对象识别和响应的某些操作。用户可以自己编写代码来响应事件。(CLICK等)6)如果一个事件没有编写代码,即使发生了也不会有任何反应。7)事件集是固定的,用户不能定义新的事件。8)事件与方法的区别:事件的代码由用户来与,方法的代码是在创建类时编写好的。用户不能写。9).最小事件集:Init:当对象生成时引发。Destroy:当对象从内存中释放时引发。Error:当方法或事件代码出现运行错误时引发。7.容器类和容器类所包容的对象表单集:包括表单、工具栏。表单:包括任意控件以及页框、Container对象、命令按钮组、选项按钮组、表格等对象。表格:包括列。列:包括标头和除表单集、表单、工具栏、定时器及其他列之外的任意对象。页框:包括页。页:包括任意控件以及Container对象、命令按钮组、选项按钮组、表格等对象。命令按钮组:包括命令按钮。选项按钮组:包括选项按钮。Container对象:包括任意按钮以及页框、命令按钮组、表格等对象8.属性或关键字1)Parent:当前对象的直接容器对象。[属性]2)This:当前对象。3)Thisform:当前对象所在的表单。4)Thisformset:当前对象所在的表单集。二.表单对象:21.表单的类型:子表单,浮动表单,顶层表单。2.表单的创建方法:1)使用表单向导创建表单2)使用表单设计器建立表单3)使用命令方式创建表单CREATEFORM表单名.SCX4)使用表单生成器创建表单表单----快速表单3.修改已有的表单MODIFYFORM表单.SCX4.在命令窗口中输入命令:DOFORM表单文件名5.常用的表单属性属性意义默认值Alwaysontop是否总在其他窗口上面.F.Autocenter是否在运行开始时处于父窗口或桌面的中间.F.Backcolor背景色255,255,255Borderstyle边界类型3Caption标题内容Form1Closable是否可用标题栏的控制按钮或菜单关闭表单.T.Datasession表单或所属表单集的数据工作期标识1Maxbutton是否显示最大化按钮.T.Minbutton是否显示最小化按钮.T.Movable是否可用鼠标、键盘移动表单.T.Windowtype窗口类型(模式、无模式)06.事件代码:一般对LOAD或INIT写代码7.常用的方法:方法应用Release方法将表单从内存中释放Refresh方法重新绘制表单或控件Show方法显示表单Hide方法隐藏表单Setfocus方法让控件获得焦点,使其成为活动对象38.常用的事件:事件应用Init事件在对象建立时发生Destroy事件在对象释放时发生Error事件在对象方法或事件代码在运行过程中产生错误是发生Load事件在表单对象建立之前引发Unload事件在表单对象释放时引发Gotfocus事件当对象获得焦点时引发Click事件用鼠标单击对象时引发Dbclick事件用鼠标双击对象时引发Rightclick事件用鼠标右键单击对象时引发Interactivechange事件当通过鼠标或者键盘交互式改变一个控件值引发9.数据环境:1)数据环境是一个对象;有自已的属性(AUTOOPENTABLES和AUTOCLOSETABLES),方法,事件.2)通常,数据环境中的表,关系,视图,会随表单的打开或运行而打开,并随着表单的关闭或释放而关闭;数据环境将作为表单文件的一部分和表单一起保存.三.常用控件:1.标签(Label)控件Caption属性:指定标签的标题。为控件设置Caption属性时。Alignment属性指定标题在标签区域内显示的对齐方式。0:(默认值)左对齐,文本显示在区域的左边。1:右对齐,文本显示在区域的右边。2:中央对齐,将标题居中排放,使左右两边的空白相等。AUTOSIZE:属性:是否自动调整大小以容纳全部内容NAME:2.命令按钮(Commandbutton)控件命令按钮控件常用的属性Caption属性:在按钮上显示的标题。*Cancel属性:“取消”按钮,默认值为.F.。*Default属性:“确定”按钮,默认值为.F.。Enabled属性:指定对象能否响应由用户引发的事件,默认值为.T.。Visible属性:指定对象是可见还是隐藏。NAME:常用的事件:Click,Rightclick,Dbclick3.命令组按钮(Commandgroup)控件4命令组按钮控件常用的属性Buttoncount属性:指定命令组中命令按钮的数目,默认值是2。*Buttons属性:用于存取命令组中各按钮的数组。*Backstyle属性:命令按钮组是否具有透明或不透明的背景。Value属性:当前选中的按钮的序号。Visible属性4.文本框(Textbox)控件文本框按钮控件常用的属性Alignment属性:文本框的内容是左对齐、右对齐、居中还是自动对齐。Controlsource属性:为文本框指定一个字段或内存变量。Inputmask属性:指定每个字符输入时必须遵守的规则。Passwordchar属性:指定显示用户输入的是字符还是显示占位符。(通常为*)练习题:一..判断题:1.属性用于描述对象的状态2.方法用于描述对象的行为3.事件代码也可以像方法一样被显式调用4.基于同一个类产生的两个对象的属性不能分别设置自己的属性值.5.在创建一个表单时,可以添加新的属性,方法和事件.二.填空题:1.在VF中,Unload事件的触发时机是______.2.在VF中,调用表单MF!的正确命令是_____________3.在运行一个表单时,最先被触发的事件是_________4.设表单Myform现是隐藏的,让该表单在屏幕上显示的命令是_________5.关闭表单的程序代码是thisform.release,其中release是__________6.表单文件的扩展名是_______7.在VF表单中,用户确定复选框是否被选中的属性是________8.为使表单运行时在主窗口中居中显示,应设置表单的__________属性值为.T.9.假设一个表单中有一个文本框text1和一个commandgroup1(command1,command2)如果要在command1的某个方法中访问文本框的value属性值,正确的表达式是,this.________________.10.在表单中设计一个checkbox控件是为了可以选择____个或_____个选项.