580 likes | 706 Views
单元 15 表单技术. 【 主要内容 】 面向对象程序设计和概念 创建表单 表单管理. 【 目的要求 】 掌握面向对象程序设计的基本概念、基本思想、方法 掌握 表单的创建、设置方法. 【 课时安排 】 共 8 课时. 一、 提出问题 1 (演示效果一). 软件的使用界面是非常重要的。在图书管理系统中用到了很多的界面,这些界面在 VFP 设计中用到了哪些技术呢?这些技术和传统的过程化的设计有什么区别呢?. 二、 基本知识. (一)对象. 1. 什么是对象: 所谓对象 (Object) 可以是任何的具体实体。. 2. 对象的分类: 对象分为容器对象和简单对象。.
E N D
单元15 表单技术 • 【主要内容】 • 面向对象程序设计和概念 • 创建表单 • 表单管理 【目的要求】 掌握面向对象程序设计的基本概念、基本思想、方法 掌握表单的创建、设置方法 【课时安排】 共8课时
一、 提出问题1(演示效果一) 软件的使用界面是非常重要的。在图书管理系统中用到了很多的界面,这些界面在VFP 设计中用到了哪些技术呢?这些技术和传统的过程化的设计有什么区别呢?
二、 基本知识 (一)对象 1.什么是对象:所谓对象(Object)可以是任何的具体实体。 2.对象的分类:对象分为容器对象和简单对象。 3.对象的名称:每个对象都有一个名字,称为对象名。 绝对引用:完整的容器层次描述的引用 4.对象的引用: 相对引用:相对当前对象的引用方法。 相对引用的关键字
二、 基本知识 (二)对象的属性 1.什么是属性:对象的属性(Properity)是指对象的一项描述内容,用于描述对象的外观和行为的特征 2.属性的名称:每个属性都有一个名字,称为属性名。 3.属性的表示: 对象名.属性名=属性值 常用对象的属性: 思考:如何进行属性的设置?
二、 基本知识 (三)对象的事件 1.什么是事件:事件(event)是由Visual FoxPro 6.0预先定义好的、能被对象识别和响应的动作或状态. 2.事件的分类及常用事件:见下表 思考:能否建立新的事件?
二、 基本知识 (四)对象的方法 1.什么是方法:对象的方法(Method)是指与对象相关的程序. 2.方法的名称:VFP规定了一些方法,用户也可为某对象定义方法. 常用对象的的方法如下: 3.方法的使用:对象名.方法名 如:关闭当前表单用:thisform.release
二、 基本知识 (五)类 1.什么是类:具有相同属性的对象组成的集合称为类. 2.子类:类中具有特殊属性的对象的集合称子类. 子类具有继承性、封装性和多态性。 容器类:可以包含其他对象。 控件类:不能包含其他对象。 3.类的分层结构: 4.VFP的基类:VFP系统已提供的可直接使用的类。VFP能使用的基类见教材P226
基本容器控件 选定对象 编辑框 命令锁 复选框 容 器 表 格 ActiveX控件 查看类 命令按钮 组合框 图象 ActiveX绑定控件 分隔符 标签 命令按钮组 列表框 计时器 线条 超级连接 文本框 选项按钮组 微调控件 页框 形状 生成器锁定 二、 基本知识 (六)控件 控件(control)是放在一个表单上用以显示数据、执行操作或使表单更易阅读的一种图形对象,如文本框、矩形或命令按钮等。常用控件由Visual FoxPro 6.0的基类提供,共21个。
二、 基本知识 (七)可视化编程步骤 1.建立应用程序的用户界面,主要是建立表单; 2.在表单中添加所需的各种对象,一般由控件创立; 3.设置各对象(表单及控件)的属性; 4.编写方法及事件过程代码; 5.调试、运行应用程序;
三、课堂实战 建立如下图所示的表单,表单上有一个形状、一个标签、三个命令按钮,单击按钮“圆”,则显示红色的圆,单击按钮“方框”,则显示白色的方框,单击按钮“退出”,则退出该表单。 请注意操作步骤、操作方法。
四、 归纳与延伸 本次课小结 软件设计中的界面设计:其特点是什么?面向对象技术的关键术语:对象、属性、事件和方法。类的概念以及特点,类的划分。面向对象的设计步骤。 延伸:面向对象的设计和面向过程的设计有什么区别?各有什 么特点?
五、课外探索及作业 上机练习:将课堂实例进行改进,效果如下: 要求:在课外独立完成,完成后通过电子邮件发送给老师。 书面练习:教材P232(1、8、9题)
课前回顾(提问) 旧课复习 可视化编程步骤 1.建立应用程序的用户界面,主要是建立表单; 2.在表单中添加所需的各种对象,一般由控件创立; 3.设置各对象(表单及控件)的属性; 4.编写方法及事件过程代码; 5.调试、运行应用程序; 6.编译、制作程序发布。 如何进行上述各步?
一、提出问题2(演示效果二) VFP中界面的设计是由表单完成的。那么表单如何创建?表单中的对象如何布局呢?表单如何美化呢?
命令法:CREATE FORM 表单文件名 工具法:使用“新建”工具 菜单法:使用“新建”菜单 方法一:使用表单设计器。 进入表单设计器的方法: 方法二:使用表单向导。 进入表单向导的方法: 工具法:使用“新建”工具 菜单法:使用“新建”菜单 在项目管理器中的向导 二、 基本知识 (一)表单建立、修改和运行 1、建立表单 注意:可在“选项”中设置表单的默认大小。 方法三:使用快速表单。 先在项目管理器中选定表单,然后单击“新建”按钮,将出现“新建表单”对话框,单击“新建表单”按钮,打开表单设计器,此时,在主菜单中将会有一个“表单”选项,打开这个菜单,选择快速表单,就可以启动快速表单了。
命令法:CREATE FORM 表单文件名 工具法:使用“新建”工具 菜单法:使用“新建”菜单 方法一:使用表单设计器。 进入表单设计器的方法: 二、 基本知识 表单设计器的结构 “表单设计器”窗口 3、单击【新建】 1、选择“文档”选项卡 在新表单(Form1)上可以可视化地添加控件并进行属性、方法程序设计。 新表单 2、选择“表单” 4、进入新建表单程序,弹出“新建表单”对话框 单击
二、 基本知识 表单设计器的工具栏 设置Tab次序 数据环境
方法二:使用表单向导。 进入表单向导的方法: 工具法:使用“新建”工具 菜单法:使用“新建”菜单 在项目管理器中的向导 二、 基本知识 为单个表创建操作数据的表单 为两个相关表创建数据输入的表单,在表单的表格中显示子表的字段. 向导步骤: 1.启动表单向导 2.从父表中选定字段 3.从子表中选定字段 4.建立表之间的关系 5.选择表单样式 6.完成
二、 基本知识 方法三:使用快速表单。 先在项目管理器中选定表单,然后单击“新建”按钮,将出现“新建表单”对话框,单击“新建表单”按钮,打开表单设计器,此时,在主菜单中将会有一个“表单”选项,打开这个菜单,选择”快速表单”,就可以启动快速表单了。
二、 基本知识 2、保存表单 存盘文件名为.SCX、.SCT,也可存为“类”。 3、修改表单 打开表单,进入表单设计器。 用命令:MODIFY FORM 表单文件名 也可进入表单设计器。 4、运行表单 方法一:在项目管理器窗口中,选择要运行的表单,然后单击窗口里的“运行”按钮。 方法二:在表单设计环境下,选择“表单”菜单中的“执行表单”命令,或单击标准工具栏上的“运行”命令。 方法三:选择“程序”菜单中的“运行”命令,打开“运行”对话框,然后在对话框中指定要运行的表单文件并单击“运行”按钮。 方法四:在命令窗口或需要在与事件相关联的代码、方法程序代码中使用命令:DO FORM 表单文件名 [NAME 变量名] WITH 实参1[,实参2]……[LINKED][NOSHOW] [TO 内存变量]
二、 基本知识 关于带参数调用表单的说明: (1)如果包含NAME子句,系统将建立指定名称的变量,并使它指向表单对象;否则,系统建立与表单文件同名的变量指向表单对象。 (2)如果包含WITH子句,那么在表单运行引发Init事件时,系统会将各实参的值传递给该事件代码PARAMETERS或LPARAMETERS子句中的各形参。 (3)如果包含LINKED关键字,表单对象将随指向它的变量的清除而关闭(释放);否则,即使变量已经清除,表单对象依然存在。但不管有没有LINKED关键字,指向表单对象的变量并不会随表单的关闭而清除,此时,该变量的取值为.NULL.。 (4)一般情况下,运行表单时,在产生表单对象后,将调用表单对象的SHOW方法显示表单。如果包含NOSHOW关键字,表单运行时将不显示,直至表单对象的VISIBLE属性被设置为.T.,或调用了SHOW方法。 (5)[TO 内存变量]部分指调用表单,表单执行后的返回值赋给指定的内存变量。此时要求在被调用表单的Unload事件中的一个Return语句。 表单运行后,可以单击标准工具栏上的“修改表单”按钮,切换到表单设计器环境,使表单进入设计方式。 例8.1、8.2 (教材P241)
基本容器控件 选定对象 复选框 编辑框 命令锁 容 器 表 格 ActiveX控件 查看类 命令按钮 组合框 图象 ActiveX绑定控件 分隔符 标签 命令按钮组 列表框 计时器 线条 超级连接 文本框 选项按钮组 微调控件 页框 形状 生成器锁定 二、 基本知识 (二)表单中对象的基本操作 1、添加对象的方法 先在表单控件工具栏中选定控件;然后在表单或容器拖动,调整到指定大小。 说明: (1)如果是容器内添加,先通过单击右键,在快捷菜单中选择“编辑”进入编辑状态。(2)如果同时要添加多个同类对象,可先单击工具栏中的“锁定”功能。
左对齐 右对齐 上对齐 下对齐 垂直居中对齐 水平居中对齐 相同宽度 相同高度 相同大小 水平居中 垂直居中 左对齐 左对齐 二、 基本知识 2、对象布局的方法 选定多个对象:按住shift,再单击要选择的对象 移动对象:按光标移动键,也可用鼠标拖动,还可通过属性设定。 删除对象:先选定,再按DEL或用快捷菜单。 改变对象大小:直接对其“操作点”进行拖放操作。 要调整多个对象的布局,先选定多个对象,再用“布局”工具栏来调整。
表达式生成器按钮 取消按钮 确定按钮 属性选择框 将两表设置为一对多关系 父表别名 二、 基本知识 3、对象属性设置方法 直接操作法:对象位置、大小等属性可通过拖动对象改变属性。 属性窗口法:可打开属性窗口设置属性。 程序代码法:通过程序代码设置属性。 打开属性窗口的方法: (1)选定对象,单击右键,在弹出的快捷菜单中选“属性”菜单项。 (2)选定对象,单击“属性”工具或菜单。 设置属性的方法: 在“编辑框”中输入或选择属性值,按回车或单击“确定”按钮。
二、 基本知识 4、设置事件代码 打开属性窗口的方法: (1)选定对象,单击右键,在弹出的快捷菜单中选“代码”菜单项。 (2)双击对象。 事件 对象 设置事件代码必须注意: (1)对什么对象实施什么事件,然后要执行什么代码。 代码窗口
三、课堂实战 图书管理系统的登录界面如下,利用表单创建的方法创建登录表单,并实现退出的功能。
四、归纳与延伸 本次课小结 1、表单是VFP中软件界面的重要组成部分,要掌握其各种创建方法。2、一个空表单是没有任何意义的,必须添加相关的对象组成一个完整的界面。3、界面上的对象要布局合理,界面要美观。4、两个按扭怎么区别呢?显然要设置他们的属性值。5、延伸:表单作为软件界面,每个表单之间的关系如何呢? 延伸:表单作为软件界面,每个表单之间的关系如何传递呢?
五、课后练习,探索新问题 1、设计一个表单,如图,要求如下: 添加一个文本框,字体大小设为22;添加五个标签,分别将标题设为图中所示的文字;分别添加16个命令按钮(可通过复制功能操作),分别将其标题设为图中所示的文字;添加如图所示的线条;各对象按图中所示的格式对对齐;设置表单的标题为“显示信息”;分别设置各命令按钮的事件代码,要求单击命令按钮可控制文本框内文字显示格式的功能。
五、课后练习,探索新问题 2、用表单向导完成下列表单。
课前回顾 旧课复习 1、表单创建的三种方法表单设计器法——根据用户需要添加对象向导法——按特定的步骤通过回答问题来设计表单快速表单法——先进入表单设计器,再用菜单,选择问题2、对象的基本操作——移动、复制、删除、布局、属性设置、代码窗口3、计时器控件作用——控制每隔一定时间运行某代码,用于“变化”的设计特点——设计时可见,运行时不可见常用属性——Interval,用于间隔时间,单位:毫秒常用事件——timer,常将代码放入该事件中。
一、提出问题3(演示效果三) 一个表单的形状可以被定制吗?表单作为界面能添加菜单功能吗?表单有哪些重要的事件呢?
二、基本知识 (一)表单常见属性(1)
二、基本知识 (一)表单常见属性(2)
二、基本知识 (一)表单常见属性(3) (1)name、caption和文件名的区别name——表单对象名caption——表单标题名(2)Visable 与Enabled的区别Visable——可见与否Enabled——可用与否(3)几个表单控件按钮Closeable、MaxButton、MinButton、Movable(4)背景色、背景图backcolor、picture(5)边线BorderStyle
二、基本知识 (二)表单属性应用 1、顶层表单、子表单、浮动表单的设置(1)顶层表单概念:能作为一个单独任务显示在任务栏中,可游离于VFP系统之外。设置方法:将Showwindows设为“作为顶层表单”(2)子表单概念:用为VFP窗口内的一个表单或作为顶层表单内的表单设置方法: 作为VFP内的子表单:Showwindows设为“在屏幕中” 作为顶层表单内的子表单:Showwindows设为“在顶层表单中”(3)浮动表单概念:窗口可游离于VFP窗口之外设置方法:将DeskTop属性设为:.T.,即可以浮动
二、基本知识 (二)表单属性应用 2、模式表单概念:只有当本表单处在非活动时,其他表单才可以成为活动表单。即只有本表单退出时,光标才可能到别的表单上。设置方法:windowtype设置为“模式”
二、基本知识 (三)表单常用事件 1、常用事件 Load事件:进入事件在创建表单或者表单集之前将会发生这个事件。这个事件的命令代码常常做一些初始化的工作。 Init事件:初始化事件 Destroy事件:表单消失事件 Unload事件:在关闭表单或者表单集时,将会发生这个事件。这个事件是在释放表或表单集之前发生的最后一个事件。在Destroy事件发生而且所有包含的对象被释放后,才会发生Unload事件。 QueryUnload:表单卸载之前发生。 Release 事件:退出事件 Gotfocus事件:得到焦点事件 Lostfocus事件:失去焦点事件 Resize事件:当调整对象的大小时发生这个事件。Resize事件可以由交互方式触发。在重新设置对象的Width和Heigh属性时都会触发这个事件。 Activate事件:当激活一个对象时,将会发生Activate事件。 Deactivate事件:当表单不再处于激活状态时,将会发生Deactivate事件。
二、基本知识 2、常用事件发生的顺序 先进行试验 结论: 进入时: 退出时:
二、基本知识 2、常用事件发生的顺序 例:设计一个确认表单退出的表单 代码如下:
二、基本知识 (四)表单常用方法 1、常用方法 Release方法:释放(清除)表单; Refresh方法:重新绘制表单,并刷新它的所有值;Show方法:显示表单,该方法将表单的Visible属性设为.T.,并使表单成为活动对象; Hide方法:隐藏表单,该方法将表单的Visible属性设为.F.; Setfocus方法:让表单成为活动表单。
三、课堂学做 主表单为顶层表单、子表单1是顶层表单中的子表单、子表单2是屏幕子表单、浮动表单
三、课堂学做 设计下面表单
四、归纳与延伸 本次课小结 1、表单是界面设计中最重要的一个容器对象,因此其属性的设置要好好掌握。 2、表单的重要事件是界面启动或关闭时要触发的,可以利用他们执行系统的一些重要功能。 3、表单的类型决定是否可以加载菜单功能,是否可以脱离VFP窗口。 延伸:表单启动时和关闭时触发的相应事件,那么这些事件代码通常为应用程序完成什么功能呢?
五、课外实践 完成浮动表单的设计。
五、课外实践 书面练习:教材264
课前回顾 旧课复习 1、表单常用属性——顶层表单、子表单、浮动表单、模式表单showwindow属性、Desktop属性、WindowsType2、表单常用事件Load、Init、Activate、Click、Destroy、Unload——注意事件的发生顺序3、表单的常用方法hide、Gotfocus——隐藏、得到焦点
一、提出问题4(演示效果四) 表单作为界面,不仅要显示对象,还涉及对象的数据绑定,那么数据的环境该如何设置呢?表单的属性和方法是有限的,当这些属性和方法不能满足我们的需要的时候可不可以添加新的属性和方法呢?当我们把一些对象的属性和方法设置好,下次能重复利用吗?
二、基本知识 (一)表单集 1、概念:将多个表单组成的集合称为表单集(Formset)。 2、表单集创建:进入表单设计器,然后使用菜单“创建表单集”。 利用菜单还可以添加表单。 3、表单集的表示方法:相对法:thisformset.form1、…… 4、表单集的常用属性: Visible 5、表单集的常用方法: Hide——隐藏 show——显示
二、基本知识 (二)自定义属性 1、概念:可以给对象自定义属性 2、定义方法:从“表单”菜单中选择“新建属性”功能 3、作用:一些对象需要保存的中间数据,方便信息交换。 4、例:设计一个表单,统计用户单击鼠标的次数
二、基本知识 (三)自定义方法程序 1、概念:可以给对象自定义方法 2、定义方法:从“表单”菜单中选择“新建方法程序”功能 3、作用:一些对象公共的子程序,往往将子程序定义成一个方法程序(也可带参数)。