您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Visual FoxPro程序设计幻灯片.徐红波.第6章
VisualFoxPro程序设计教程讲师:徐红波E-mail:x_h_b@tom.com第6章表单表单是VFP创建应用程序与应用程序界面的重要途径之一,它将可视化操作与面向对象的程序设计思想有机结合在一起。表单设计器是设计表单的工具,它提供了设计应用程序界面的各种控件、相应属性、事件。它运用了面向对象的程序设计和事件驱动机制,使开发者能直观,方便,快捷的完成应用程序的设计与界面设计的开发工作。6.1面向对象程序设计面向对象的程序设计思想是将事物的共性,本质内容抽象出来封装成类。VFP又将软件开发常用的功能抽象封装成标准类,开发者用类定义所需对象,通过对对象的属性设置,对事件的编程完成程序设计,VFP还提供了自定义类及面向对象的其他完整机制与功能。6.1.1对象与属性1、对象对象是类的实例化,是客观存在的具体事物,VFP标准类中有表单类,控件类等。具体的一个表单就是表单对象。2、属性属性是描述对象的静态特征。如表单的颜色,标题,名称等。常用的表单属性如表6.1所示。表6.1常用表单属性属性用途默认值AutoCenter初始化时是否让表单自动在vfp窗口中居中.F.AlwaysOnTop表单是否总是处于其他窗口之上.F.BackColor决定表单窗口的颜色255,255,255BorderStyle指定表单边框风格:0-无边界,1-单线框,2-对话框,3-系统(可调)3Caption指定表单显示的标题文本Form1Closable是否可以通过单击关闭按钮或双击控制菜单框来关闭表单.T.DataSession指定表单里的表是在缺省的全局能访问的工作区打开(设置为1),还是在表单自己的私有工作区打开(设置为2)1MaxButton表单是否有最大化按钮.T.MinButton表单是否有最小化按钮.T.Movable表单是否能移动.T.Name指定表单名Form1Scrollbar指定滚动条类型:0-无,1-水平,2-垂直,3-水平垂直0TitleBar控制表单是否有标题栏:0-无,1-有1WindowState表单状态:0-正常,1-最小化,2-最大化0WindowType指定表单是模式表单(设置为1),或非模式表单(设置为0)06.1.2事件与方法1、事件:描述对象的动态行为,它是由系统预先定义好的,由用户或系统发出动作,用对象来识别,用户可编程对此进行响应。表6.2所示是表单设计器提供的常用事件。事件触发事件触发Load创建对象前RightClick用右键单击对象时Init创建对象时KeyPress按下并释放键盘时Activate对象激活时LostFocus对象失去焦点时GetFocus对象获得焦点时Unload释放对象时Click用左键单击对象时Destry释放对象时在Unload前触发DblClick用左键双击对象时Error对象方法或文件代码产生错误时MouseUp释放鼠标键时Resize调整对象大小时MouseDown按鼠标键时MouseMove在对象上移动鼠标时2、方法:与对象相关的过程,是对象能执行的操作。方法分为两种:一种为内部方法,另一种为用户自定义方法。内部方法是VFP预先定义好的方法,供用户使用或修改后使用。表6.3给出常用的方法。表6.3常用方法方法含义Release将表单从内存中释放Refresh刷新表单或控件Show显示表单Hide隐藏表单Cls清除表单内容SetFocus使控件获得焦点3、对象的引用规则(1)引用形式对象对属性、文件、方法的引用是用点“.”运算符。形式:对象.属性|方法|事件说明:对象若有包含与被包含关系,可以从外层用“.”引用到内层对象。如在后面要介绍的命令按钮Command1,对它的Caption属性的引用可以写成:ThisForm.Command1.Caption=“确定”,这个意思是设置当前表单中的Command1按钮的Caption属性为确定。ThisForm代表当前表单。(2)对象在引用中常使用的关键字如表6.4所示。关键字含义例子This当前对象This.CaptionThisForm当前表单ThisForm.CaptionThisFormSet当前表单集ThisFormSet.Form1.Command1.caption(3)容器类在表单中有包含与被包含关系的对象,能包含其他对象的对象称为容器对象,容器对象的类称为容器类,在VFP中常用的容器类如下表所示。容器包含的对象表单集表单,工具栏表单任意控件,页框,Container对象,命令组,选项组,表格等对象表格列列标头和除表单集、表单、工具栏、定时器及其他列之外的任意对象页框页命令组命令按钮选项组选项按钮Container任意控件及页框,命令组,选项组,表格等对象页任意空间及其Container对象,命令组,选项组,表格等对象6.2用表单向导设计表单表单向导是通过与用户人机交互向导,完成对表进行浏览,编辑等基本操作界面的自动生成。表单向导为单表建立的表单称单表表单,为多表建立的表单称多表表单。6.2.1建立单表表单6.2.2建立多表表单1、建立表单2、执行表单3、编辑表单6.3表单设计器用表单向导设计表单,固然简单方便又不需要编写代码,但表单向导设计出的表单是有一定的固定模式,功能也有限。如果想设计无固定模式,多功能的表单,表单向导是无法实现的。VFP提供了表单设计器这个面向对象编程的可视化工具,用以满足开发者设计风格各异,功能齐全的表单。6.3.1表单设计器的环境1、打开表单设计器(1)用界面方式打开(2)用命令方式打开格式:MODIFYFORM[表单名|?]功能:打开表单设计器,创建或修改由表单名指定的表单。说明:无选项或选?,将出现打开对话框,选一个表单或输入一个表单名,输入的表单名如果不存在则创建新的表单,如果存在则对原表单进行修改。2、表单设计器环境(1)表单设计器工具栏1)设置Tab键次序2)数据环境3)属性窗口4)代码窗口5)表单控件工具栏6)调色板工具栏7)布局工具栏8)表单生成器9)自动格式例6.1设计表单。当单击表单上的文字“欢迎新同学”时文字变为“学习要勤奋”,再双击就又恢复成以前的文字。单击退出按钮释放表单。6.3.2控件的操作与布局1、控件操作(1)在表单中放置控件(2)控件在表单中的复制与粘贴(3)调整大小(4)删除控件(5)在表单中放置多个同类的控件2、控件的布局6.3.3数据环境数据环境要在表单打开的情况下使用,当表单关闭或释放时它就关闭。1、打开数据环境设计器2、向数据环境设计器中添加表或视图3、数据环境中关系的设置4、从数据环境设计器中移去表或视图5、向表单中添加字段例6.2设计一个表单,它可以对表进行浏览、编辑、并可以释放表单(即退出),界面如下图所示6.3.4设置属性与编辑代码1、设置属性(1)在属性窗口的对象下拉列表框中选要设置属性的对象(2)在属性列表框中找到要设置的属性并选中该属性(3)在属性设置框中输入具体设置的属性值1、编辑代码(1)打开代码窗口的方法1)单击表单设计器工具栏中的代码窗口按钮2)双击表单工作区任意位置(2)在对象下拉列表框中选要编辑代码的对象(3)在过程下拉列表框中选要编辑的代码对象的事件或方法(4)在代码编辑区中输入相应的代码(5)关闭代码编辑窗口,有两种方法;1)单击表单设计器工具栏中的代码窗口2)单击代码窗口中的关闭按钮6.3.5表单的修改与运行1、表单的修改(1)打开表单设计器(2)对表单进行修改1)若对表单中已有控件对象修改,方法与设置属性和编辑代码相同。2)如果在表单中创建新的控件对象,可在表单控件工具栏中选中控件放到表单中,然后对该对象进行属性设置和代码编辑。3)若要删除表单中的控件,选中该控件按Del键。2、表单的运行格式:DOFORM表单名功能:执行由表单名指定的表单。6.4常用表单控件6.4.1标签控件标签控件属于输出类控件,用于显示文本。它的常用属性如表6.6所示。属性用途默认值Caption标题用于显示标题文本Label1Autosize是否随标题文本大小调整.F.Alignment指定标题文本控件中显示的对齐方式:0左对齐,1右对齐,2中央对齐0BorderStyle标签是否透明:0为透明,1为不透明1ForeColor设置标题文本颜色,0,0,0为黑色,255,255,255为白色0,0,0WordWrap标题文本是否换行,.t.换行,.f.不换行.F.FontName设置标题文本字体类型宋体FontSize标题文本字体大小9例6.3计算1+2+3…+100的和6.4.2命令按钮命令按钮用来触发事件,完成特定的功能,常用属性如表6.7所示。属性用途默认值Caption标题Command1Enabled按钮是否有效:.t.有效,.f.无效.T.Default是否为默认按钮,.t.是,.f.不是.T.Cancel是否是取消按钮,.t.是,.f.不是.F.Visual按钮是否可见,.t.可见,.f.不可见.T.Picture设置图形文件,使按钮为图形按钮(无)例6.4计算10!6.4.3命令组1、常用属性命令组是容器控件,常用属性如图6.8所示。2、命令组生成器3、编辑命令组属性用途默认值ButtonCount设置命令组中命令按钮的数目2Buttons用于存取命令组中各按钮的数组0Value指定命令当前的状态,当属性值为数值型时,若为N表示第N个按钮被选中。当属性值为字符型时,若为字符型值C,表示命令组中Caption值为C的命令按钮被选中1例6.5将6.2题用命令组做6.4.4文本框控件文本框控件是基本控件,可以输入,编辑数据。它可以处理除备份字段类型的数据,一般包含一行数据,在接受字符型数据时,最多255个字符。表6.9文本框常用属性属性用途默认值ControlSource指定文本框的数据源,数据源可为字段或内存变量(无)Value指定文本框的值(无)PasswordChar指定文本框的占位符,即当向文本框输入数据时不显示真实的数据而显示占位符(无)InputMask用来指定数据的输入格式和显示方式,属性值为一个字符串,字符串由掩码组成(无)例6.6求n!6.4.5编辑文本框编辑框可用于输入、显示、编辑数据。它只能编辑字符型数据,可编辑长的字符型字段数据,备注字段数据,字符型内存变量数据,它可以编辑单行与多行数据。它最多能接受2147483647个字符。它的常用属性如表6.10所示。属性用途默认值Value用来指定控件的状态(无)Readonly是否为只读,.T.为只读,.F.可编辑.F.Scrollbar是否有滚动条,0无,2垂直滚动条2Selstart返回用户在编辑框中所选文本的起始位置,取值范围:0~编辑框中字符总数0Sellength返回用户在文本输入区中选定的字符数目,或指定要选定的数目。0Seltext返回选定的文本,若无选定文本,返回空串0Hideselection使用焦点时是否隐藏选定标记,.T.隐藏,.F.不隐藏.T.例6.7设计一个表单,完成下图所示功能例6.8表单如图6.35所示6.4.6复选框控件用于在软件中提供给用户一种或多种选择,以便满足用户的要求。复选框是一个逻辑框,它只有两种状态值:一种为.T.,表示选上;一种为.F.,表示没选上。属性用途默认值Caption方框右侧的文本Checkbox1Value值0或.F.表示未选中,1表示被选中,2或null表示不确定0或.F.Controlsource数据源(无)例6.9设计一个程序界面如下图所示,对人的能力测试。若选选1、3项,就显示“您是一个全面发展的人!”,否则,显示“您要继续努力”例6.10统计学生人数6.4.7选项组控件它是一个容器控件,包含多个选项按钮,用于在多种功能或多种条件下,用户只能选择其中的一个功能或条件。选项组控件有生成器,通过生成器对各按钮属性设置。常用属性如下表所示。Buttoncount指定选项组中按钮数目2Value若值为数值型n,表示第n个按钮被选中,若为字符型c,表示Caption属性值为c的按钮被选
本文标题:Visual FoxPro程序设计幻灯片.徐红波.第6章
链接地址:https://www.777doc.com/doc-5144791 .html