计算机二级VF第七章 表单设计与应用文档格式.docx

上传人:b****7 文档编号:22104379 上传时间:2023-02-02 格式:DOCX 页数:20 大小:244.53KB
下载 相关 举报
计算机二级VF第七章 表单设计与应用文档格式.docx_第1页
第1页 / 共20页
计算机二级VF第七章 表单设计与应用文档格式.docx_第2页
第2页 / 共20页
计算机二级VF第七章 表单设计与应用文档格式.docx_第3页
第3页 / 共20页
计算机二级VF第七章 表单设计与应用文档格式.docx_第4页
第4页 / 共20页
计算机二级VF第七章 表单设计与应用文档格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

计算机二级VF第七章 表单设计与应用文档格式.docx

《计算机二级VF第七章 表单设计与应用文档格式.docx》由会员分享,可在线阅读,更多相关《计算机二级VF第七章 表单设计与应用文档格式.docx(20页珍藏版)》请在冰豆网上搜索。

计算机二级VF第七章 表单设计与应用文档格式.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1