1
表单控件
Visual FoxPro 6.0
第 九 章
2
第九章:表单设计表单概述表单的控件常用控件表单设计示例
3
本章要求
掌握表单的基本概念与构成 。
掌握表单的设计方法 。
掌握常用控件的属性,方法和事件 。
掌握常用控件的设计方法
4
9.1 表单概述
9.1.1 基本概念名词解释,
表单,即用户与计算机进行交流的一种屏幕界面,用于数据的显示、输入、修改。该界面可以自行设计和定义,
是一种容器类,可包括多个控件(或称对象)。
表单集,可包含一张或多张表单的容器。
数据环境,在打开或修改一个表单或报表时需要打开的全部表、视图和关系。它以窗口形式(类似于数据库设计器)反映出与表单有关的表、视图、表之间关系等内容。可以用 数据环境设计器 来创建和修改表单的数据环境。
控件,表单中包含的对象。
5
表单设计界面表单设计工具栏属性窗口表单控件工具栏数据环境调色板
6
9.1.2 创建表单可以用 表单向导,表单设计器,表单生成器 创建表单 。
表单向导,
创建单张表的表单:
打开文件菜单 → 新建 → 表单 → 向导 → 选择表单向导 → 选取字段 → 选择样式 → 选择排序记录 → 选择保存方式 → 给出合适的文件名和保存位置。
创建多个相关表的表单:
打开文件菜单 → 新建 → 表单 → 向导 [或从常用工具栏上选择表单( F) ] → 选择一对多表单向导 → 选取父表字段 → 选取子表字段 → 选定关系 → 选择样式 → 选择排序记录 → 选择保存方式 →
给出合适的文件名和保存位置表单文件扩展名,.SCX与,SCT
7
利用表单生成器创建表单文件菜单 → 新建 → 表单 → 新文件 → 表单菜单 → 快速表单命令
→ 选择字段和样式并确定之利用设计器创建表单文件菜单 → 新建 → 表单 → 新文件 → 在表单设计器中,用表单设计器和表单控件工具条上的按钮创建所需的表单 → 保存表单 → 给出文件名和保存位置。
运行表单从常用工具栏上单击运行按钮 ( !) 或从表单菜单中选择 运行表单 命令或从命令窗口中输入,DO FORM 表单文件名
8
9.1.3 表单设计工具栏
TAB键次序 属性 控件 布局 自动格式数据环境代码 调色板 表单生成器
9
9.1.4 属性窗口对象列表属性分类框属性值输入框属性列表属性说明框例题 8-1
10
表单常用属性属性 说明 取值
N a m e 表单名 字符
Ca pt i on 表单的标题 字符
A ut oCe nt e r 表单是否自动居中,T,或,F,
Ba c kCol or 表单的背景颜色 RG B 三色
Cl os a bl e 是否可以关闭,T,或,F,
Cont rol Box 是否有控制按钮和控制图标,T,或,F,
L e ft,Ri g ht 表单位置 数值
H e i g ht,W i dt h 表单的高和宽 数值
W i ndow s S t a t e 初始状态 0,普通 1,最小化 2,最大化 0,1,2
M ove bl e 是 否允许移动,T,或,F,
W i ndow s T ype 窗口模式 0,无模式 1,模式 0,1
11
9.1.5 表单的数据环境主数据表关联
添加表,单击数据环境 /添加
建立关联,拖动鼠标至相关字段
12
8.1.6 事件与方法程序对象列表双击 表单或控件,进入代码编辑窗口方法列表自定义代码例题 8-2
13
例题 8-2
PSET方法:
格式,[FormSet.]Object.PSet([nXCoord,nYCoord])
参数:
nXCoord:指定需要设置的点的横坐标。
nYCoord:指定需要设置的点的纵坐标。
MOUSEPOINT方法,指定运行时,鼠标指针的形状 。
14
表单常用事件和方法属性、事件和方法 说明
Cl i c k 单击表单时发生
D oubl e Cl i c k 双击表单时发生
K e yP re s s 事件 当按下并释放某个键时发生
L oa d 事件 在创建表单对象前发生
U nl oa d 事件 当对象释放时发生
Ri g ht Cl i c k 事件 在单击鼠标右键时发生
A ddO bj e c t 方法 运行时,在容器对象中添加对象
M ove 方法 移动一个对象
Re fre s h 方法 重画表单或控 件,并刷新所有值
Re l e a s e 方法 从内存中释放表单
S how 方法 显示一张表单
15
9.2 控件
VFP中的控件大致分为如下 5类:
1,输出类,标签,图象,线条,形状等
2,输入类,文本框,编辑框,微调控件,列表框,组合框等
3,控制类,命令按钮,复选框,计时器等
4,容器类,表格,页框等
5,其他类,Active控件等
16
9.2.1 向表单中添加控件用生成器向表单中添加控件:
打开所需表单,进入表单设计器 → 从表单控件工具栏上选择生成器锁定按钮 → 从该工具栏上选择所需控件并放在表单上 → 在生成器的选项卡中填上有关信息。
利用数据环境在表单中创建控件:
从数据环境中直接将所需字段或表拖到正在设计的表单中,VFP 会自动生成符合要求的控件。
自定义方式创建控件打开表单设计器 → 根据需要从工具栏上单击某个控件 → 用鼠标直接在表单上画出控件外形 → 在属性窗口设置该控件的各项属性。
使用类浏览器向表单中添加控件在表单设计器中打开表单 → 单击属性窗口中的类按钮 → 添加类
17
在容器对象中添加控件:
容器控件名 控件个数属性 初值 手工更改
Pag eFram e Pag eCo u n t 2 可
Pag e Co n t r o l Co u n t 2 不可
G ri d Co l u m n C o u n t -1 可
Co n t ai n er Co n t r o l Co u n t 0 不可
Co m m an d B u t t o n Bu t t o n Co u n t 2 可
O p t i o n g ro u p Bu t t o n Co u n t 2 可改变属性:
将控件改为编辑状态 /拖动控件
18
9.2.2 控件的常用属性、事件和方法程序属性,事件和方法 说明
A ut oS i z e 属性 指定控件是否依据其内容自动调节大小
Bu t t onC oun t 属性 指定命令组或选项组中的按钮数
Ca pt i on 属性 指定在对象标题中显示的文本
Co nt rol Co unt 属性 指定容器对象中控件的数目
Co nt rol S our c e 属性 指定与对象绑定的数据源
E na bl e d 属性 指定对象能否响应用户引发的事件
F i l t e r 属性排除不满足条件的记录。筛选条件由给定表达式指定
Inc re m e nt 属性单击上箭头或下箭头时,微调控件中数值增加或减少的量
Inp ut M a s k 属性 指定控件中数据的输入格式和显示方式
19
控件的常用属性、事件和方法程序(续 1)
属性、事件和方法 说明
M ove rBa rs 属性 指定是否在列表框控件中显示移动按钮
N a m e 属性 指定在代码中引用对象时所用的名称
P a re n t 属性 引用一个控件的容器对象
Re a dO nl y 属性指定是否可以编辑控件或者更新与临时表对象相关联的表或视图
Re c ordS ourc e T ype 属性 指定如何打开填充表格控件的数据源
Row S ourc e 属性 指定组合框或列表框控件中值的来源
T oo l T i p T e xt 属性 为一个控件指定作为,工具提示”出现的文本
V a l ue 属性 指定控件的当前状态
Cl i c k 事件 在控件上单击鼠标左键时发生
20
控件的常用属性、事件和方法程序(续 2)
属性、事件和方法 说明
D bl C i c k 事件 在控件上双击鼠标左键时方生
D e s t roy 事件 当释放一个对象的实例时发生
Ini t 事件 在创建对象时发生
Int e ra c t i ve Cha ng e 事件 当更改控件的值时发生
L oa d 事件 在创建对象前发生
Ri g ht Cl i c k 事件 在单击右键时发生
A ddobj e c t 方法 运行时在容器对象中添加对象
Cl e a r 方法 清除组合框或列表框控件的内容
Re fre s h 方法 重画表单或控件,并刷新所有值
K e yP re s s 事件 当按下并释放某个键时发生
例题 8-3
21
9.2.4 修改表单布局打开表单,进入表单设计器,用 表单设计器工具栏 或 显示菜单 中的各命令修改表单 。
选择、移动和缩放控件:
选择,用鼠标单击所需控件
移动,选定控件,用鼠标拖动到新位置或从编辑菜单中选择剪切再在新位置粘贴
缩放,选定控件,用鼠标拖动尺寸柄直至所需大小松开复制和删除表单控件
复制,选定表单上现有的控件 → 从编辑菜单中选择复制 → 从编辑菜单中选择粘贴。
删除,选定表单上现有的控件 → 按 Delete 键。
控件的布局
可利用 布局工具栏 使表单上的所有控件排列整齐、大小合理、对称美观。
设置 TAB键次序:
单击表单设计工具栏上的 TAB键次序按钮
22
9.3 常用控件
9.3.1 标签属性 说明 初值
Ca pt i on 标签文字 空
F ont N a m e 字体 宋体
F ore Col or 字的颜色 RG B ( 0,0,0 )
F ont Bol d 是否为粗体,F,
F ont It a l i c 是否为斜体,F,
F ont U nde rl i ne 是否带下划线,F,
F ont S i z e 字的大小 9
E na bl e d 是否响应用户引发的事件,T,
用于保存不希望用户改动的文本,常用来为添加的控件写标记。
23
9.3.2 文本框属性 说明
Co n t ro l So u rce 控制源
Fo rm at 输入 / 输出格式
Pas s W o rd Ch ar 口令字符
Read O n l y 是否只读
V al u e 当前值
E n ab l ed 是否响应用户引发的事件用于输入或编辑表中的非备注型字段,框中一般是单行的文本。
常用属性
24
事件 触发时间
G o t Fo cu s 获得焦点时
W h en 获得焦点前发生,可以返回逻辑值并进行校验
V al i d 失去焦点时发生,可以返回逻辑值并进行校验
L o s t f o cu s 失去焦点时发生
常用事件
文本框生成器:
例题 8-4
25
9.3.3 编辑框用于输入或编辑长字段或备注字段,框中可以有多行并有垂直滚动条。
例题 8-5
26
9.3.4 命令按钮和命令按钮组常用来启动一个事件。
命令按钮的属性
Caption:按钮文字
Picture:按钮贴图
Enabled:是否响应事件
ForeColor:前景色
DisabledForeColor:不可用时的前景色
DisabledPicture:不可用时的贴图
Visible:是否隐藏
命令按钮示例
27
命令按钮组的属性
ButtonCount:组中按钮的个数
AutoSize:是否自动调整组的大小
BorderStyle,组的边框式样
SpecialEffect:组边框的特殊效果
命令按钮组的引用
直接引用
按按钮的顺序号引用,BUTTON(i)
28
例题 8-6
29
9.3.5 选项按钮组
ControlSource属性,可与变量绑定
Value属性,选项按钮组当前状态值
若已经绑定,则为变量值
若没绑定,则等于当前选中的按钮序号
例题 8-7
用于显示多个选项,只允许从中选择一项
30
9.3.6 复选框
ControlSource属性:可与 逻辑型 变量绑定
Value属性:复选框当前状态值
若已经绑定,则为变量值
若没绑定,则为,T,或,F.
例题 8-8
用来显示多个选项,可以选择其中的一项或多项。
31
8.3.7 列表框用于显示一组预定的、供用户选择的值,可以是一列或多列,可通过滚动条浏览列表信息。
常用属性属性 作用
Ro w So u rceT y p e 列表来源类型
Ro w So u rce 列表来源 内容
Co l u m n Co u n t 列数
Bo u n d Co l u m n 列表框中哪一项与 v al u e 属性绑定
V al u e 所选列表项的值
32
例题 8-9
例题 8-10
33
8.3.8 组合框一种下拉式的列表框,可以从中选择一项或人工输入一个值,兼有列表框和文本框的功能
组合框和列表框的区别
组合框为下拉式列表
组合框允许输入数据
组合框可自动显示数据
组合框不允许多项选择
DisplayValue和 Value的区别,Displayvalue为第一列或输入的值,
Value为选定的值
34
下拉式组合框和下拉式列表,通过 Style属性定义
输入数据保存到列表中
ListCount属性:列表的项数
List(nRow,[nCol])属性:列表 第 nrow行,ccol列 数据
AddItem方法:为列表增加一项
RemoveItem方法:为列表去除一项
35
8.3.9 表格一个按浏览窗口样式显示数据的容器,常用来显示一多关系中的子表
表格所包含的控件:表格 列 标头 文本框
生成器:
例题 8-12
36
8.3.10 页框一种用于创建选项卡式对话框的容器类,一个页框可以包含多个页面,但每次只能有一个活动页面
页框的属性:
Activepage:当前活动页
PageCount:页数
Pages:页数组
例题 8-13
37
8.3.11 图象用于输入图片
图象的属性:
Picture:图象的来源
Stretch:图象的显示方式等比填充变比填充裁剪
38
8.3.12 微调器用于接受给定范围内的数据输入
微调器的属性:
ControlSource:数据绑定
InputMask:显示格式
Increment:数字增量
KeyBoardHighValue:输入最大值
KeyBoardlowValue:输入最小值
SpinnerHighValue:调整最大值
SpinnerLowValue:调整最小值
39
8.3.13 计时器可以在指定时间或按照设定的间隔运行进程,此控件在运行时不可见
计时器的属性和事件:
Enabled:是否开始工作
Interval:时间间隔 ms
Timer:定时触发
例题 8-14