清华大学出版社 TSINGHUA UNIVERSITY PRESS 第6章表单设计基础
第6章 表单设计基础
清华大学出版社 TSINGHUA UNIVERSITY PRESS 6.1表单向导 打开向导选取对话框:在工具菜单的向导子菜单中选定表单命令。 向导选取 选择要使用的向导 表单向导 一对多表单 说明 为单个表创建操作数据的表单。 确定 取消 图61向导选取对话框
6.1 表单向导 打开向导选取对话框:在工具菜单的向导子菜单中选定表单命令。 图6.1 向导选取对话框
清华大学出版子 单表表单向导与一对多表单向导 区 步骤1-从父表中选定字段 您希望在表单中添加哪些字段? 从父表中选定哪些字段?这些宇段将组成关系中的“ 选择数库或自由表项,选择表或视图,然后选择所 选择数据库或自由表项,选择表或视图,然后选择所 Ia m 数亮库和表①) 可用宇段) 数据库和表① 可用宇段 SESJ 视1 视图1 「帮助④ 取消[上一步国下一步⑩)「完成吧)」 取消」上一步国下一步@)』完成 图62表单向导的字段选取 图6.8一对多表单向导对话框的父表字段 设备维护 部们设备表 设备维护 部门设备表 备号[72 名办公 代码11 启用日期 启用日期价格王要设备备注商标 主畏设备 2101轿车 一国回一个最后一个查找打印时添加()除出③ 一[一个国最后一个时查找打印添加))删除更出 图66设备维护表单 图611部门设备维护窗口
单表表单向导与一对多表单向导 图6.2 表单向导的字段选取 图6.6 设备维护表单 图6.8 一对多表单向导对话框的父表字段 图6.11 部门设备维护窗口
清华大学出版社 62表单设计器 SNY PRESS 创建和运行表单的基本步骤 打开表单设计器 MODIFY FORM〈文件名〉 对象操作与编码:表单设计器,数据环境设计器,表单控件工具栏 保存表单 运行表单:例如 DO FORM SBO 快速创建表单:表单菜单的快速表单命令 MicrosoftVisualFoxPro 件①)编辑①)[显示格式@)表单)工具①)程序P)窗口)帮助0 Tab键次序@ 表草设计是到数环 回x 表单件工具)巴单详 图6.12 布局工具栏Cr 调色板工具栏 显示快速表单的表单设计器, 调色数显示位置m 用日用日 价格 数据环境设计器, 工具栏() i那 表单控件工具栏等 单控件 A副回|。| ■口圃国图画图 画数据方浏布局其他 object 对象①):周forn 向对象添加新属性
6.2 表单设计器 创建和运行表单的基本步骤 打开表单设计器 MODIFY FORM 〈文件名〉 对象操作与编码:表单设计器 ,数据环境设计器 ,表单控件工具栏 保存表单 运行表单:例如 DO FORM SBQ 快速创建表单:表单菜单的快速表单命令 图 6.12 显示快速表单的表单设计器, 数据环境设计器 , 表单控件工具栏等
清华大学出版社 表单控 选定对藜 查看类 标签 Aabl 文本框 框 圃口 命令按钮 命令按组 选项按組 复选框 组合框 列表框 微控件 表格 里目圈 图象 计时器 一页框 ActiveX控件( Ole ControD OLEOLE activeX绑定控件( OleBoumd ControD 线条 形状 容器 分符 超级链接 生成器镜定 按钮镜定 图614表单控件工具栏中的按钮
图6.14 表单控件工具栏中的按钮
清华大学出版社 63面向对象的程序设计方法 屈性-文挡1 对象 控件 orm +对象组合框 容器 全部数据方法程布局其他 选项卡 属性 √1orm1 事件 属性设置框 AutoCenter 方法程序 默认们 B acL0⊥or 192192192 Border Style3-可调边框 Caption For■1 ClipControls"T:"真 属性列表框 Closable T.-真默认有、 指定对象标题文本。 属性说明信息 图616属性窗口的组成
6.3 面向对象的程序设计方法 对象 控件 容器 属性 事件 方法程序 图6.16 属性窗口的组成
清华大学出版社 表63属性选列 TSINGHUA UNIVERSITY PRESS 应用于 pt 指定对象的标题(显示时标识对象的文本) 表单标签,命令按钮等 Name 指定对象的名字(用于在代码中引用对象) 任何对象 Value 指定控件当前状态(取值) 文本框列表框等 orec oor 指定对象中的前景色(文本和图形的颜色) 表单标签,文本框命令按钮 Backcolor 指定对象内部的背景色 表单标签,文本框,列表框等 Backstyle 指定对象背景透明否(透明则背景着色无效) 标签,文本框图象等 Borderstyle 指定边框样式为无边框,单线框等 表单标签文本框等 AlwaysOnTop是否处于其它窗口之上(可防止遮挡) 表单 Auto Center 是否在ⅤFP主窗口内自动居中 表单 ScaleMode 指定坐标单位 表单 Closable 标题栏中关闭按钮是否有效 表单 Controlbox 是否取消标题栏所有的按钮 表单,工具栏 Max Button 是否有最大化按钮 表单 Min Button 是否有最小化按钮 表单 Movable 运行时表单能否移动 表单 Windowstate 指定运行时是最大化还或最小化 表单 Auto CloseTables表单释放时是否关闭表或视图默认为T 数据环境 AutoOpenTables表单加载时是否打开表或视图默认为T 数据环境
属 性 说 明 应用于 Caption 指定对象的标题(显示时标识对象的文本) 表单,标签,命令按钮等 Name 指定对象的名字(用于在代码中引用对象) 任何对象 Value 指定控件当前状态(取值) 文本框,列表框等 ForeColor 指定对象中的前景色(文本和图形的颜色) 表单,标签,文本框,命令按钮 等 BackColor 指定对象内部的背景色 表单,标签,文本框,列表框等 BackStyle 指定对象背景透明否(透明则背景着色无效) 标签,文本框,图象等 BorderStyle 指定边框样式为无边框,单线框等 表单,标签,文本框等 AlwaysOnTop 是否处于其它窗口之上(可防止遮挡) 表单 AutoCenter 是否在VFP主窗口内自动居中 表单 ScaleMode 指定坐标单位 表单 Closable 标题栏中关闭按钮是否有效 表单 Controlbox 是否取消标题栏所有的按钮 表单,工具栏 MaxButton 是否有最大化按钮 表单 MinButton 是否有最小化按钮 表单 Movable 运行时表单能否移动 表单 WindowState 指定运行时是最大化还或最小化 表单 AutoCloseTables 表单释放时是否关闭表或视图,默认为.T. 数据环境 AutoOpenTables 表单加载时是否打开表或视图,默认为.T. 数据环境 表6.3 属性选列
清华大学出版社 SINGHUA UNIVERSITY PRESS 表64VFP部分常见事件表 事件 触发时机 Load 创建对象前 Init 创建对象时 Activate 对象激活时 Gotfocus 对象得到焦点时 方法程序一例: Refresh方法程序 Click 单击鼠标左键时 Form Object. Refresh DblClick 双击鼠标左键时 功能:重画表单或控件, Mouseup 释放鼠标键时 并刷新所有的值 Mouse down|按下鼠标键时 Key press 按下并释放某键盘键时 Valid 对象失去焦点前 LostFocus 对象失去焦点时 Unload 释放对象时
事 件 触 发 时 机 Load 创建对象前 Init 创建对象时 Activate 对象激活时 GotFocus 对象得到焦点时 Click 单击鼠标左键时 DblClick 双击鼠标左键时 MouseUp 释放鼠标键时 MouseDown 按下鼠标键时 KeyPress 按下并释放某键盘键时 Valid 对象失去焦点前 LostFocus 对象失去焦点时 Unload 释放对象时 表6.4 VFP部分常见事件表 方法程序一例:Refresh方法程序 [Form.]Object.Refresh 功能: 重画表单或控件, 并刷新所有的值
清华大学出版社 对象引用 VERSIY PRESS 对象引用规则 (1)通常用以下引用关键字开头: THISFORMSET表示当前表单集表单集的概念参阅812节 THISFORM表示当前表单 THIS 表示当前对象 (2)引用格式:引用关键字后跟一个点号再写出被引用对象或者对象的属 性事件或方法程序 例如: THIS Caption &&本对象(表单或控件的 Caption属性 THISFORM. Cls&&k本表单的C方法程序清除表单中的图形和文本 THISFORM. Command1 caption &&本表单的 Command1命令按钮的 Caption属性 THIS Command1. Click&&本对象的 Command1命令按钮的Cick事件 (3)控件也可引用包含它的容器格式为 Control. Parent 其中 Contro表示控件, Parent表示容器。 例如ThiS.paReNt.comMand1.caption,表示引用本对象的容器例如表单)的 Command1命令按钮的 Caption属性
对象引用 对象引用规则 (1) 通常用以下引用关键字开头: THISFORMSET 表示当前表单集(表单集的概念参阅8.1.2节) THISFORM 表示当前表单 THIS 表示当前对象 (2) 引用格式: 引用关键字后跟一个点号,再写出被引用对象或者对象的属 性,事件或方法程序。 例如: THIS.Caption && 本对象(表单或控件)的Caption属性 THISFORM.Cls && 本表单的Cls方法程序,清除表单中的图形和文本 THISFORM.Command1.Caption && 本表单的Command1命令按钮的Caption属性 THIS.Command1.Click && 本对象的Command1命令按钮的Click事件 (3) 控件也可引用包含它的容器,格式为: Control.Parent 其中Control表示控件, Parent表示容器。 例如THIS.Parent.Command1.Caption, 表示引用本对象的容器(例如表单)的 Command1命令按钮的Caption属性
编程方式设置属性值6 属性值设置格式: ObjectName Property=Setting 其中 Setting为要设置的属性值。 例如, THIS. FontBold=T &&本对象文本以粗体显示 THIS Parent Caption=timeo &&本对象的容器的 caption)属性设置为当前时间 例64设计只含一个文本框控件的表单(见图617,要求逐次单击文本框的内 部能轮流显示当前日期与时间试写出设计步骤 (1)创建表单:往命令窗口键入命令 MODIFY FORM rsi,使显示xgs表单设计器 窗口。 (2)创建文本框:单击表单控件工具栏中的文本框按钮然后单击Form1表单窗 口内某处该处就会产生一个Text1文本框控件。 (3将表单的 Caption属性改为“日期与时间”:单击表单窗口,属性窗口的组合 框中便显示Form1在属性列表中选定 Caption)属性囗在文本框中输入日期与时间 字样按回车键后表单窗口的标题栏就会显示这些文字
编程方式设置属性值 属性值设置格式: ObjectName.Property[=Setting] 其中Setting为要设置的属性值。 例如, THIS.FontBold=.T. && 本对象文本以粗体显示 THIS.Parent.Caption = time() && 本对象的容器的caption属性设置为当前时间 [例6-4] 设计只含一个文本框控件的表单(见图6.17),要求逐次单击文本框的内 部能轮流显示当前日期与时间,试写出设计步骤。 (1) 创建表单:往命令窗口键入命令MODIFY FORM rqsj,使显示rqsj表单设计器 窗口。 (2)创建文本框: 单击表单控件工具栏中的文本框按钮,然后单击Form1表单窗 口内某处,该处就会产生一个Text1文本框控件。 (3) 将表单的Caption属性改为“日期与时间”:单击表单窗口,属性窗口的组合 框中便显示Form1 在属性列表中选定Caption属性 在文本框中输入日期与时间 字样,按回车键后表单窗口的标题栏就会显示这些文字