计算机二级VF第七章 表单设计与应用文档格式.docx
- 文档编号:22104379
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:20
- 大小:244.53KB
计算机二级VF第七章 表单设计与应用文档格式.docx
《计算机二级VF第七章 表单设计与应用文档格式.docx》由会员分享,可在线阅读,更多相关《计算机二级VF第七章 表单设计与应用文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
This当前对象
ThisForm包容当前对象的表单
*ThisFormSet包容当前对象的表单集
四、事件
事件是一种由系统预先定义而由用户或系
统发出的动作。
事件作用于对象,对象识别事件并作出相应反应。
*VisualFoxPro基类的最小事件集
Init初始化
Destroy释放
Error出错
第三节创建与管理表单
一、创建表单
1.使用表单向导创建针对表文件操作的即用表单
新建表单表单向导选择要使用的向导(表单向导/一对多表单向导)确定
2.使用表单设计器创建、设计、修改表单
命令格式:
CREATEFORM<
表单名>
MODIFYFORM<
3.运行表单
DOFORM<
作业:
1.使用表单向导创建针对医生表的专用表单,文件名为YISHENG.SCX,标题为"
医生信息查询"
2.完成机试模拟题中的如下几题:
四|二|1七|二|1三十九|二|2
四十三|二|1四十九|二|1
二、管理表单属性和方法
1.常用的表单属性
⑴AlwaysOnTop:
指定表单是否总是位于其他打开的窗口之上(.F.)
⑵AutoCenter:
指定表单初始化时是否居中(.F.)
2.创建新属性
表单新建属性在名称框中输入属性名称添加关闭
3.创建新方法(注:
不能创建新事件)
表单新建方法程序在名称框中输入方法的名称添加关闭
三、常用事件与方法
1.Init事件:
在对象建立时引发
2.Destroy事件:
在对象释放时引发
3.Error事件:
当对象方法或事件代码在运行时产生错误时引发
4.Load事件:
在表单对象建立前引发(Init事件之前)
5.UnLoad事件:
在表单对象释放时引发(Destroy事件之后)
注:
在表单运行时,对象的事件引发顺序:
表单的LOAD事件表单各下属对象的INIT事件表单的INIT事件
在表单关闭时,对象的事件引发顺序:
表单的DESTROY事件表单各下属对象的DESTROY事件表单的UNLOAD事件
6.GotFocus事件:
当对象获得焦点时引发。
*LostFocus事件:
当对象失去焦点时引发
7.Click事件:
用鼠标单击对象时引发
8.DbClick事件:
用鼠标双击对象时引发
9.RightClick事件:
用鼠标右键单击对象时引发
10.InterActiveChange事件:
用鼠标或键盘改变对象当前值时引发
11.Release方法:
将表单从内存中释放(清除)
12.Refresh方法:
刷新表单
13.Show方法:
显示表单
14.Hide方法:
隐藏表单
15.SetFocus方法:
使对象获得焦点
第四节表单设计器
一、表单设计器环境
1.表单设计器窗口2.属性窗口
3.表单控件工具栏4.表单设计器工具栏
5.表单菜单6.代码窗口
二、控件的操作与布局
1.控件的基本操作
(1)选定控件:
用鼠标单击控件即可(另外,压住键盘上的Shift键位可以多选)
(2)移动控件:
在控件处于选定状态时,用鼠标拖动或用键盘上的方向键移动
(3)改变控件大小:
在控件处于选定状态时,拖动控件四周的形态控制块
(4)复制控件:
在控件处于选定状态时,使用复制…粘贴命令
(5)删除控件:
在控件处于选定状态时,压键盘上的Delete|Del键位
2.控件布局(使用布局工具栏)
3.设置Tab键次序
显示Tab键次序排序
三、数据环境(数据环境中的表或视图会随着表单的打开或运行而打开,并随着表单的关闭或释放而关闭)
1.数据环境的常用属性
AutoOpenTables:
当运行或打开表单时,是否自动打开数据环境中的表和视图(.T.)
AutoCloseTables:
当释放或关闭表单时,是否自动关闭数据环境中的表和视图(.T.)
2.打开数据环境设计器
3.向数据环境中添加表或视图
4.从数据环境中移去表或视图
5.在数据环境中设置临时联系
6.向表单中添加字段
将数据环境中的字段拖到表单中
7.向表单中添加表
将数据环境中的表拖到表单中
例:
六|二|2
第五节常用表单控件
一、标签(Label)
1.Caption属性:
用于指定标签对象的标题文本。
*设定访问键:
(\<
访问字母)也可不要括号
如:
thisform.label1.caption="
开始(\<
B)"
2.Name属性:
用于指定当前控件的名字,默认值与Caption属性的默认值相同,均为Lable1
二、命令按钮(CommandButton)
1.Default:
指定当前控件在失去焦点的情况下能否对键盘上的Enter键位产生响应(.F.)
2.Cancel:
指定当前控件在失去焦点的情况下能否对键盘上的Esc键位产生响应(.F.)
3.Enabled属性:
指定控件是否为有效控件(.T.)
4.Visible属性:
指定控件是否为可见控件(.T.)
"
文字躲猫猫"
主要操作:
1.创建表单后在表单上添加三个标签控件
2.为三个标签控件设置相同的CAPTION属性:
有本事点我一下"
*注:
为了方便最好将所有标签的AUTOSIZE属性设置为.T.
3.将LABEL2和LABEL3的VISIBLE属性设置为.F.
4.在LABEL1的MOUSEMOVE事件中输入代码:
THIS.VISIBLE=.F.
THISFORM.LABEL2.VISIBLE=.T.
在LABEL2的MOUSEMOVE事件中输入代码:
THISFORM.LABEL3.VISIBLE=.T.
在LABEL3的MOUSEMOVE事件中输入代码:
THISFORM.LABEL1.VISIBLE=.T.
1.创建如图所示的表单
在数据环境中添加表YISHENG.DBF,然后将指定字段拖到表单中,再添加其它控件,进行布局操作,并设置相关属性
2.在表单的INIT事件中输入如下代码:
IFRECNO()=1
THIS.COMMAND2.ENABLED=.F.
ELSE
THIS.COMMAND2.ENABLED=.T.
ENDIF
IFRECNO()=RECCOUNT()
THIS.COMMAND3.ENABLED=.F.
THIS.COMMAND3.ENABLED=.T.
THIS.REFRESH&
&
不刷新则记录显示不会变
3.在COMMAND1的CLICK事件中输入代码:
GOTOP
THISFORM.INIT
在COMMAND2的CLICK事件中输入代码:
SKIP–1
在COMMAND3的CLICK事件中输入代码:
SKIP
在COMMAND4的CLICK事件中输入代码:
GOBOTTOM
三、命令按钮组(CommandGroup)
1.Value属性:
有N型和C型两种状态,默认为数字1。
当为N型时,返回第几个按钮被点击,当为C型时,则返回被点击的按钮的Caption属性
文字移动"
1.创建表单,并添加一个命令按钮组(COMMANDGROUP1),一个标签(LABEL1),两个计时器(TIMER1和TIMER2)
2.将COMMAND1的CAPTION改为"
从右向左"
COMMAND2的CAPTION改为"
从左向右"
3.将TIMER1的INTERVAL属性设置为200,而TIMER2的INTERVAL属性不变保持为0
4.在TIMER1的TIMER事件中输入代码:
*控制文字向左移动
IFTHISFORM.LABEL1.LEFT+THISFORM.LABEL1.WIDTH>
THISFORM.LABEL1.LEFT=THISFORM.LABEL1.LEFT-10
ELSE
THISFORM.LABEL1.LEFT=THISFORM.WIDTH
ENDIF
5.在TIMER2的TIMER事件中输入代码:
*控制文字向右移动
IFTHISFORM.LABEL1.LEFT<
THISFORM.WIDTH
THISFORM.LABEL1.LEFT=THISFORM.LABEL1.LEFT+10
THISFORM.LABEL1.LEFT=0-THISFORM.LABEL1.WIDTH
6.在COMMANDGROUP1的CLICK事件中输入
IFTHIS.VALUE=1
THISFORM.TIMER1.INTERVAL=200
THISFORM.TIMER2.INTERVAL=0
THISFORM.TIMER1.INTERVAL=0
THISFORM.TIMER2.INTERVAL=200
四、文本框(TextBox)
1.ControlSource属性:
指明一个与当前控件产生联系的变量。
2.Value属性:
返回文本框的当前值
3.PasswordChar属性:
指定显示在文本框内的占位符
4.InputMask属性:
指明文本框内输入和显示数据的格式(输入掩码)
体形测试"
要点:
1.创建如图所示的表单
2.将TEXT3和TEXT4的INPUTMASK属性设置为"
999"
3.在COMMAND1(测试)的CLICK事件中输入代码:
XM=ALLT(THISFOMR.TEXT1.VALUE)
XB=ALLT(THISFORM.TEXT2.VALUE)
SG=VAL(ALLT(THISFORM.TEXT3.VALUE))
TZ=VAL(ALLT(THISFORM.TEXT4.VALUE))
CH=IIF(XB="
男"
"
先生"
女士"
)
DOCASE
CASESG-115>
TZ
TX="
有些偏瘦,请注意营养!
CASESG-105<
有些偏胖,请加强锻炼!
OTHER
完全正常,请继续保持!
ENDCASE
MESSAGEBOX(XM+CH+"
您的体型"
+TX,0+64,
结果"
创建如图所示的表单,完成登录窗口程序
1.建议去掉表单的最大化,最小化按钮,并禁用关闭按钮,设置表单边框为固定形式并显示自动居中
2.设置TEXT2的PASSWORDCHAR属性为"
*"
3.为表单新建一个属性:
CS"
用来计算次数,并赋初值数值3
4.设置COMMAND1的DEFAULT属性为.T.
5.在TEXT1的GotFocus事件中输入代码:
THISFORM.LABEL1.FORECOLOR=RGB(255,0,0)
在TEXT2的GotFocus事件中输入代码:
THISFORM.LABEL2.FORECOLOR=RGB(255,0,0)
在TEXT1的LostFocus事件中输入代码:
THISFORM.LABEL1.FORECOLOR=RGB(0,0,0)
在TEXT2的LostFocus事件中输入代码:
THISFORM.LABEL2.FORECOLOR=RGB(0,0,0)
6.在COMMAND1的CLICK事件中输入如下代码:
YHM=ALLT(THISFORM.TEXT1.VALUE)
KL=ALLT(THISFORM.TEXT2.VALUE)
IFYHM==KL
MESSAGEBOX("
口令正确,欢迎使用本系统!
0+64,"
成功"
THISFORM.RELEASE
IFTHISFORM.CS>
1
口令或用户名有误,请重输!
0+16,"
错误"
THISFORM.CS=THISFORM.CS-1
非法用户,登录失败"
0+48,"
失败"
五、编辑框(EditBox)
1.HideSelection属性:
指定当控件失去焦点时,是否隐藏被选文本的选择状态(.T.)
2.SelStart属性:
返回控件中被选文本的起始位置或文本编辑光标的所在位置
3.SelLength属性:
返回控件中被选文本的宽度
4.SelText属性:
返回控件中被选文本
查找替换
2.将EDIT1的HIDESELECTION属性改为.F.
3.在查找按钮的CLICK事件中输入如下代码:
CZ=ALLT(THISFORM.TEXT1.VALUE)
N=AT(CZ,ALLT(THISFORM.EDIT1.VALUE))
IFN=0
查找内容不存在!
0+16
提示"
THISFORM.EDIT1.SELSTART=N-1
THISFORM.EDIT1.SELLENGTH=LEN(CZ)
4.在替换按钮的CLICK事件中输入如下代码:
THISFORM.EDIT1.SELTEXT=ALLT(THISFORM.TEXT2.VALUE)
六、复选框(CheckBox)
有N型和L型两种状态,默认为数字0。
当控件处于选中状态时,返回1或.T.,处于未选中状态时返回0或.F.
七、选项按钮组(OptionGroup)
1.ButtonCount属性:
指定控件中选项按钮的个数
(2)
2.Value属性:
有N型和C型两种状态,默认为数字1。
当为N型时,返回第几个按钮被选,当为C型时,则返回被选按钮的Caption属性
第四十五套第三题
在"
确定"
按钮的CLICK事件中输入代码:
SETSAFEOFF
IFTHISFORM.OPTIONGROUP1.VALUE=1
BM="
EMPLOYEE"
ORDERS"
IFTHISFORM.CHECK1.VALUE=1
SELE*FROM&
BMINTOTABLETEMP
BM
第五十一套第三题
1.将TEXT1和TEXT2的VALUE属性设置为数值0,INPUTMASK属性设置为"
99999"
2.在"
计算"
XZ=THISFORM.OPTIONGROUP1.VALUE
N1=THISFORM.TEXT1.VALUE
N2=THISFORM.TEXT2.VALUE
CASEXZ=1
THISFORM.TEXT3.VALUE=N1+N2
CASEXZ=2
THISFORM.TEXT3.VALUE=N1-N2
CASEXZ=3
THISFORM.TEXT3.VALUE=N1*N2
OTHER
THISFORM.TEXT3.VALEU=N1/N2
第六十二套第三题
生成表"
CASETHISFORM.CHECK1.VALUE=1ANDTHISFORM.CHECK2.VALUE=1
TWO"
ZDM="
职工号,姓名,系名,工资,课程号"
CASETHISFORM.CHECK1.VALUE=1
ONE_X"
职工号,姓名,系名,课程号"
ONE_XX"
职工号,姓名,工资,课程号"
SELE&
ZDMFROM学院表,教师表WHERE学院表.系号=教师表.系号ORDERBY1INTOTABLE&
ZDMFROM学院表,教师表WHERE学院表.系号=教师表.系号ORDERBY1DESCINTOTABLE&
八、列表框(ListBox)
1.RowSourceType属性:
指明列表框中条目数据源的类型(0)。
0-无、1-值、2-别名、3-SQL语句、4-查询、5-数组、6-字段、7-文件、8-结构
2.RowSource属性:
与上一属性配合,指明列表框的数据源
3.List属性:
用来存取列表中的指定条目。
如第三行第2列:
List(3,2)
4.ListCount属性:
用于指定列表框内的条目总数
5.Value属性:
返回列表框内被选的条目
6.Selected属性:
指定列表框内的某个条目是否处于被选状态。
7.MultiSelect属性:
指定列表框内的条目是否能进行多选(.F.)
*ADDITEM方法:
添加新的列表项
格式:
ADDITEM(C)
*REMOVEITEM方法:
移去指定的列表项
REMOVEITEM(N)
九、组合框(ComboBox)
以上列表框控件的属性中,除MultiSelect之外,其它皆可用于组合框
1.Style属性:
指定控件是下拉组合框还是下拉列表框(0)。
0-下拉组合框、2-下拉列表框
2.ListIndex属性:
返回被选的项是第几项,也可用于列表框控件
四十七|三
六十|三
六十三|二|2
六十五|二|2
六十七|一
十、表格(Grid)
1.表格设计基本操作
2.常用的表格属性
(1)RecordSourceType属性:
用来指明表格数据源的类型
(1)。
0-表、1-别名、2-提示、3-查询、4-SQL语句
(2)RecordSource属性:
用来指明表格的数据源
(3)ColumnCount属性:
用来指定表格的列数(-1)
六|二|2二十二|三三十七|三|2
十一、页框(PageFrame)
1.PageCount属性:
用于指明控件所包含的页数
(2)
2.TabStretch属性:
指定标签文本是单行还是多行
(1)。
0-多重行、1-单行
3.ActivePage属性:
返回活动页的页号,或使指定页成为活动页
二十|三三十六|三三十九|三四十四|三
五十二|三
第六节自定义类操作
一、创建新类
CREATECLASS[<
类名>
OF<
类库名>
AS<
父类名>
]
二、修改类
MODIFYCLASS<
|?
三、类库管理
1.创建类库
CREATECLASSLIB<
2.复制类
ADDCLASS<
[OF类库名1]TO<
类库名2>
[OVERWRITE]
3.删除类
REMOVECLASS<
4.重命名类
RENAMECLASS<
TO<
新类名>
5.打开类库
SETCLASSLIBTO<
通过自定义类创建一个命令按钮组,包括五个按钮,分别为:
首记录,上一条,下一条,尾记录,关闭,用于对记录操作的表单
1.在命令按钮组的INIT事件中输入代码:
THIS.COMMAND1.ENABLED=.F.
THIS.COMMAND2.ENABLED=.F.
THIS.COMMAND1.ENABLED=.T.
THIS.COMMAND2.ENABLED=.T.
THIS.COMMAND4.ENABLED=.F.
THIS.COMMAND3.ENABLED=.T.
THIS.COMMAND4.ENABLED=.T.
IFRECCOUNT()=0
THISFORM.REFRESH
首记录"
的CLICK事件中输入代码:
THIS.PARENT.INIT
在"
上一条"
THIS.PARENT.INIT
下一条"
SKIP
尾记录"
关闭"
RELEASETHISFORM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机二级VF第七章 表单设计与应用 计算机 二级 VF 第七 表单 设计 应用