吴宗宪 一见你就笑:第八章 表单设计

来源:百度文库 编辑:中财网 时间:2024/04/28 05:26:10
8.1 基本概念
1.名词解释
表单:
即用户与计算机进行交流的一种屏幕界面,用于数据的显示、输入、修改。该界面可以自行设计和定义,是一种容器类,可包括多个控件(或称对象)。
表单集:
可包含一张或多张表单的容器。
数据环境:
在打开或修改一个表单或报表时需要打开的全部表、视图和关系。它以窗口形式(类似于数据库设计器)反映出与表单有关的表、视图、表之间关系等内容。可以用数据环境设计器来创建和修改表单的数据环境。
2.表单设计界面
主要包括: 表单向导、 表单设计器、 表单设计器工具栏、 表单控件工具栏、 属性窗口
3.表单设计中常用的属性、事件与方法介绍
属性、事件、方法 说明
默认值
AlwaysOnTop属性 控制表单是否总是处在其他打开窗口之上 假(.F.)
AutoCenter属性 控制表单初始化时是否让表单自动地在Visual FoxPro主窗口中居中 假(.F.)
BackColor属性 决定表单窗口的颜色 255,255,255
BorderStyle属性 决定表单是否有边框,若有边框,是单线边框、双线边框,还是系统边框。如果BorderStyle为3(系统),用户可重新改变表单大小 3
Caption属性 决定表单标题栏显示的文本 Forml
Closable属性 控制用户是否能通过双击“关闭”框来关闭表单 真(.T.)
MaxButton属性 控制表单是否具有最大化按钮 真(.T.)
MinButton属性 控制表单是否具有最小化按钮 真(.T.)
Movable属性 控制表单是否能移动到屏幕的新位置 真(.T.)
WindowState属性 控制表单是最小化、最大化还是正常状态 0 正常
WindowType属性 控制表单是非模式表单(默认)还是模式表单。如果表单是模式表单,用户在访问应用程序用户界面中任何其他单元前必须关闭该表单 0 非模式
Activate事件 当激活表单时发生
Click事件 在控制上单击鼠标左键时发生
DblClick事件 在控制上双击鼠标左键时发生
Destroy事件 当释放一个对象的实例时发生
Init事件 在创建表单对象时发生
Error事件 当某方法(过程)在运行出错时发生
KeyPress事件 当按下并释放某个键时发生
Load事件 在创建表单对象前发生
Unload事件 当对象释放时发生
RightClick事件 在单击鼠标右键时发生
AddObject方法 运行时,在容器对象中添加对象
Move方法 移动一个对象
Refresh方法 重画表单或控制,并刷新所有值
Release方法 从内存中释放表单
Show方法 显示一张表单
8.2 创建表单
可以用表单向导、表单设计器、表单生成器、编程四种方法创建表单。
1. 利用向导创建表单
(1) 创建单张表的表单:
打开文件菜单 → 新建 → 表单 → 向导 [或从常用工具栏上选择表单(F)] → 选择表单向导 → 选取字段 → 选择样式 → 选择排序记录 → 选择保存方式 → 给出合适的文件名和保存位置。
(2) 创建多个相关表的表单:
打开文件菜单 → 新建 → 表单 → 向导 [或从常用工具栏上选择表单(F)] → 选择一对多表单向导 → 选取父表字段 → 选取子表字段 → 选定关系 → 选择样式 → 选择排序记录 → 选择保存方式 → 给出合适的文件名和保存位置。
注意:用向导创建的表单一般含有一组标准的命令按钮。
表单保存后系统会产生两个文件:
表单文件:扩展名为 .SCX
表单备注:扩展名为.SCT
2. 利用表单生成器创建表单
文件菜单 → 新建 → 表单 → 新文件 → 表单菜单 → 快速表单命令 → 选择字段和样式并确定之。
注意:用生成器创建的表单不能直接产生一些命令按钮。
3. 利用设计器创建表单
文件菜单 → 新建 → 表单 → 新文件 → 在表单设计器中,用表单设计器和表单控件工具条上的按钮创建所需的表单 → 保存表单 → 给出文件名和保存位置。
注意:用设计器创建的表单,用户必须为控件设置有关的属性及事件处理代码。
4. 利用编程的方法创建表单
按照面向对象设计的方式,先可视化地利用类来创建表单,再将类代码复制到程序窗口,适当添加部分设置系统环境的代码,以程序文件的形式保存。
5. 运行表单
从常用工具栏上单击运行按钮(!)或从表单菜单中选择 运行表单 命令或从命令窗口中输入: DO FORM 表单文件名。
8.3 向表单中添加控件
1. 常用控件的作用
标 签: 用于保存不希望用户改动的文本,常用来为添加的控件写标。
文本框: 用于输入或编辑表中的非备注型字段,框中一般是单行的文本。
编辑框: 用于输入或编辑长字段或备注字段,框中可以有多行并有垂直滚动条。
列表框: 用于显示一组预定的、供用户选择的值,可以是一列或多列,可通过滚动条浏览列表信息。
组合框: 一种下拉式的列表框,可以从中选择一项或人工输入一个值,兼有列表框和文本框的功能
复选框: 用来显示多个选项,可以选择其中的一项或多项。
表 格: 一个按浏览窗口样式显示数据的容器,常用来显示一多关系中的子表。
页 框:一种用于创建选项卡式对话框的容器类,一个页框可以包含多个页面,但每次只能有一个活动页面。
微调控制:用于接受给定范围内的数据输入。
命令按钮:常用来启动一个事件。
命令按钮组:用来把相关的命令按钮编成组。
选项按钮组:用于显示多个选项,只允许从中选择一项。
计时器: 可以在指定时间或按照设定的间隔运行进程,此控件在运行时不可见。
2. 用生成器向表单中添加控件:
打开所需表单,进入表单设计器 → 从表单控件工具栏上选择生成器锁定按钮 → 从该工具栏上选择所需控件并放在表单上 → 在生成器的选项卡中填上有关信息。
3. 利用数据环境在表单中创建控件:
从数据环境中直接将所需字段或表拖到正在设计的表单中,VFP 会自动生成符合要求的控件。
若要创建一个
将下面的项拖动到表单
表格 表
复选框 逻辑型字段
编辑框 备注型字段
OLE 绑定型控制 通用型字段
文本框 其他类型的字段
4. 自定义方式创建控件
打开表单设计器 → 根据需要从工具栏上单击某个控件 → 用鼠标直接在表单上画出控件外形 → 在属性窗口设置该控件的各项属性。
5.使用类浏览器向表单中添加控
在表单设计器中打开表单 → 在类浏览器中打开类库文件,其中应包含有添加到表单中的对象的类 → 从类列表中,选择类名,然后把类图标拖放到表单上。类图标位于类列表的上方。
附注:如果要把类添加到表单的容器对象上,则需把类图标拖放到表单中一个区域,然后把对象剪切并粘贴到所要的容器上。
6. 控件常用的属性、事件与方法
属性
说 明
AutoSize属性 指定控件是否依据其内容自动调节大小
ButtonCount属性 指定命令组或选项组中的按钮数
Caption属性 指定在对象标题中显示的文本
ControlCount属性 指定容器对象中控件的数目
ControlSource属性 指定与对象绑定的数据源
Enabled属性 指定对象能否响应用户引发的事件
Filter属性 排除不满足条件的记录。筛选条件由给定表达式指定
Increment属性 单击上箭头或下箭头时,微调控件中数值增加或减少的量
InputMask属性 指定控件中数据的输入格式和显示方式
MoverBars属性 指定是否在列表框控件中显示移动按钮
Name属性 指定在代码中引用对象时所用的名称
Parent属性 引用一个控件的容器对象
ReadOnly属性 指定是否可以编辑控件或者更新与临时表对象相关联的表或视图
RecordSourceType属性 指定如何打开填充表格控件的数据源
RowSource属性 指定组合框或列表框控件中值的来源
ToolTipText属性 为一个控件指定作为“工具提示”出现的文本
Value属性 指定控件的当前状态
Click事件 在控件上单击鼠标左键时方生
DblCick事件 在控件上双击鼠标左键时方生
Destroy事件 当释放一个对象的实例时发生
Init事件 在创建对象时发生
InteractiveChange事件 当更改控件的值时发生
Load事件 在创建对象前发生
RightClick事件 在单击右键时发生
Addobject方法 运行时在容器对象中添加对象
Clear方法 清除组合框或列表框控件的内容
Refresh方法 重画表单或控件,并刷新所有值
KeyPress事件 当按下并释放某个键时发生
8.4 修改表单布局
打开表单,进入表单设计器,用表单设计器工具栏或显示菜单中的各命令修改表单。
1. 选择、移动和缩放控件
选择: 用鼠标单击所需控件
移动: 选定控件,用鼠标拖动到新位置或从编辑菜单中选择剪切再在新位置粘贴
缩放: 选定控件,用鼠标拖动尺寸柄直至所需大小松开
2. 复制和删除表单控件
复制 : 选定表单上现有的控件 → 从编辑菜单中选择复制 → 从编辑菜单中选择粘贴。
删除: 选定表单上现有的控件 → 按 Delete 键。
3. 控件的布局
可利用布局工具栏使表单上的所有控件排列整齐、大小合理、对称美观。
8.5 定制表单
1. 改变文本的字体和大小
打开表单,进入表单设计器 → 选择要修改的控件 → 打开属性窗口 → 设置字体大小和字形,如 FontName 、FontSize、FontBold。
2.向表单中添加线条和形状
选择工具栏上的线条或形状按钮,在表单中所需位置拖动鼠标,画出线条或图形,图形界于正方形和圆形、长方形和椭圆形之间(属性窗口中的 Curvature 值从 0~99 )。线条和形状的颜色可以在属性窗口中设定。
3.向表单中添加图形
从表单控件工具栏中选择图象 → 在属性窗口中选择 Picture 属性单击该栏的…按钮 → 在打开对话框中找到所需的图象文件 → 确定
4. 设置一个表单的前景和背景颜色
用调色板工具栏或通过属性窗口中的 ColorSource 属性来设置。
5. 创建表单集
启动表单设计器 → 从表单菜单中选择创建表单集 → 设计第一张表单 → 从表单菜单中选择添加新表单 → 设计另一张表单 → 添加新表单 → 设计另一张表单 ……
8.6 设计自定义表单的一般方法
1. 与数据表绑定型表单
(1) 生成基本表单:
新建 → 表单 → 新文件 → 进入表单设计器 → 表单菜单 → 快速表单 → 选定数据库(表) → 选定输出字段 → 选定样式 → 确定。
(2) 修改基本表单:
1) 用鼠标拖动来调整各字段的布局(排列位置、大小、对齐等);
2) 在属性窗口中设置表单中各对象的属性:
表单(form1):
caption: 输入表单的中文标题
backcolor: 设置表单背景颜色
autocenter: 使表单运行时自动处于屏幕中央
visible: 设置表单在运行时是否可见,一般采用 .T.
各字段控件:
autosize: 根据所容纳的内容自动调整大小, 常采用 .T.
backstyle: 字段标题一般可设为透明,其它可设为不透明
caption: 输入中文的字段标题
fontname: 设置控件字体
fontsize: 设置字体大小
forecolor : 设置字体颜色
(3) 根据需要添加控件:
1) 利用数据环境:
打开基本表单 → 单击鼠标右键 → 从快捷菜单中选择数据环境 → 将所需字段拖到表单中 → 用标签控件为字段添加标题(先画出标签控件再更改标签的 caption 属性)。
2) 利用表单控制工具栏:
打开基本表单 → 单击工具栏中所需控件 → 在表单中画出控件 → 选定控件 → 单击鼠标右键 → 从快捷菜单中选择生成器… → 在对话框中选好所需各项 → 确定。
(4). 添加命令按钮
根据需要添加适当数量的命令按钮(用单个命令按钮或用命令组均可),设置命令组时要利用命令组生成器(单击右键,从中选择生成器)。更改命令按钮的标题,需用热键时在标题后加上 (\(5). 为命令按钮编写事件代码
根据命令按钮的标题所代表的功能在代码窗口中填写代码。几个常用按钮的代码如下表。
上一个
If.not.bof()
Skip -1
Endif
Thisform.refresh
下一个
If.not.eof()
Skip
Endif
Thisform.refresh
第一个
Go top
Thisform.refresh
最后一个
Go bottom
Thisform.refresh
退出
Thisform.release
2.与数据表无关型表单
新建 → 表单 → 新文件 → 进入表单设计器 → 添加控件 → 设置属性 → 编写代码