第四讲 表单设计文档格式.docx

上传人:b****6 文档编号:19538293 上传时间:2023-01-07 格式:DOCX 页数:33 大小:54.84KB
下载 相关 举报
第四讲 表单设计文档格式.docx_第1页
第1页 / 共33页
第四讲 表单设计文档格式.docx_第2页
第2页 / 共33页
第四讲 表单设计文档格式.docx_第3页
第3页 / 共33页
第四讲 表单设计文档格式.docx_第4页
第4页 / 共33页
第四讲 表单设计文档格式.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

第四讲 表单设计文档格式.docx

《第四讲 表单设计文档格式.docx》由会员分享,可在线阅读,更多相关《第四讲 表单设计文档格式.docx(33页珍藏版)》请在冰豆网上搜索。

第四讲 表单设计文档格式.docx

BaseClass

该类由何种基类派生而来,例如Form、CommandGroup等

ClassLibrary

该类从属于哪种类库。

ParentClass

对象所基于的类。

若该类直接由VisualFoxPro基类派生而来,则ParentClass属性值与BaseClass属性值相同。

(2)对象的引用

绝对引用:

从容器的最高层引用对象,给出对象的绝对地址。

如:

form1.text1.value

相对引用:

在容器层次中相对于某个容器层次的引用。

thisform.text1.value

相对引用时所用的关键字

属性或关键字

引用

ActiveControl

当前活动表单中具有焦点的控件

ActiveForm

当前活动表单

ActivePage

当前活动表单中的活动页面

Parent

该对象的直接容器(父容器)

THIS

该对象本身

THISFORM

包含该对象所在的表单

THISFORMSET

包含该对象所在的表单集

_SCREEN

系统变量,表示屏幕对象

另外:

系统变量_SCREEN表示屏幕对象,与ActiveForm等组合可以在不知道表单名的情况下处理活动表单。

(3)事件与方法:

VFP中核心事件及其激发时间

触发时间

Load

当表单或表单集被加载时产生

Unload

当表单或表单集从内存中释放时产生

创建对象时产生

从内存中释放对象时产生

Click

用户在对象上单击鼠标时产生

DblClick

用户在对象上双击鼠标时产生

activate

当激活表单,表单集或页对象时产生

RightClick

用户在对象上单击鼠标右键时产生

GetFocus

对象得到焦点时产生

LostFocus

对象失去焦点时产生

KeyPress

用户按键时产生

InteractiveChange

以交互式改变对象值时产生

ProgrammaticChange

以编程方式改变对象值时产生

注意事件的触发时间:

init,load,activate,destroy发生的顺序

VFP6.0中的常用方法

名称

调用语法

功能

AddItem

Control.AddItem(cItem[,nIndex][,nColumn])

在组合框或列表框中添加一个新数据项,并且可以指定数据项索引。

Clear

Object.Clear

清除组合框或列表框控件中的内容

Hide

Object.Hide

通过把Visible属性设置为.F.,来隐藏表单、表单集或工具栏

Show

Object.Show

把Visible属性设置为.T.,显示并激活一个表单或表单集,并确定表单的显示模式

Refresh

Object.Refresh

重画表单或控件,并刷新所有值

Release

Object.Release

从内存中释放表单或表单集

setfocus

Control.SetFocus

为控件指定焦点。

事件循环

VFP6.0中用READEVENTS命令建立循环,用CLEAREVENTS命令终止循环。

2.重点与难点提示

(1)表单或其它容器控件的计数属性和集合属性

所有容器对象都具有与之相关的计数属性和集合属性,其中,计数属性表明该容器中包含对象数目,而集合属性是一个数组,可以用来引用包含在其中的对象。

表单中的ControlCount属性可以自动确定表单中究竟有多少个控件,而Controls(i)属性可以引用表单上指定的第I个控件。

容器控件中的ControlCount属性可以自动确定容器中究竟有多少个控件,而Controls(i)属性可以引用容器中的任何一个控件。

例如,将容器控件(container1)中所有控件的Enabled属性为.F.:

forI=1tothisform.Container1.ControlCount

thisform.Container1.Controls(i).Enabled=.f.

endfor

其它一些典型的容器类控件的计数属性和集合属性如表:

容器控件的计数和集合属性

控件

计数属性

集合属性

命令按钮组

ButtonCount:

命令按钮组中有多少个命令按钮

Buttons(i):

第I个命令按钮

选项按钮组

选项按钮组中有多少个选项按钮

第I个选项按钮

表格

ColumnCount:

表格中列对象的数目

Columns(i):

第I列

页框

PageCount:

表示有多少个页面

Pages(i):

第I个页面

表单

ControlCount:

表单中包含对象的数目

Controls(i):

第I个对象

表单集

FormCount:

表单集中的表单数

Forms(i):

第I个表单

(2)几个重要方法的调用说明

AddItem方法

功能:

在组合框或列表框中添加一个新的数据项,并且可以指定数据项的索引。

RemoveItem

从组合框或列表框中移去一项。

Clear方法

清除组合框或列表框中的数据项。

语法格式:

控件名.Clear

SetAll方法

为容器对象中的所有控件或某类控件指定一个属性设置。

应用于:

列、命令组、容器对象、表单、表单集、表格、选项组、页面、页框、_SCREEN、工具栏。

容器名.SetAll(cProperty,Value[,cClass])

参数说明:

cProperty:

要设置的属性。

Value:

属性的新值,Value的数据类型取决于要设置的属性。

cClass:

指定类名,该类为对象的基类。

This.setall(“dynamicforecolor”,”iif(cj.cj<

60,rgb(255,0,0),rgb(0,255,0))”,”column”)

This.column3.dynamicfontsize=”iif(cj.cj<

60,13,9)”

This.column3.dynamicforecolor=”iif(cj.cj<

60,rgb(255,0,0),rgb(0,255,0))”

SetFocus方法

为一个控件指定焦点,确定当前的操作对象。

对象名.SetFocus

(3)组合框和列表框的几个重要属性

组合框和列表框的几个与数据相关的属性很容易混淆,为帮助读者加深理解,现总结如下:

RowSource:

指定列表框和组合框控件中值的来源,在设计时使用。

RowSourceType:

指定列表框和组合框控件中值的来源类型,最常用的有6--字段和3—SQL,当其值为6--字段时,RowSource必须设置为某个字段;

当其值为3—SQL时,RowSource必须是一个SQL语句。

ControlSource:

指当选定列表框或组合框控件的某个值时,这个值将被保存在ControlSource属性所指的位置,所以可以理解为ControlSource是列表框或组合框的数据去向。

补充:

1.VFP中的(基)类分为两大类型:

容器类和控件类(也称为非容器类)

容器类:

是包含其他类的基类;

控件类:

是可以包含在容器类中的基类;

2.VFP中的基类有哪些:

容器,控件,表单集,表单,工具栏,命令按钮组,命令按钮,文本框,编辑框,微调框,表格,标头,列,页框,页面,组合框,列表框,复选框,选项按钮组,选项按钮,计时器,OLE绑定型控件,OLE容器控件,标签,图象,形状,线条,分隔符。

3.以上的基类中哪些属于容器类:

容器,工具栏,表单集,表单,表格,表格列,页框,页面,命令按钮组,选项按钮组。

其中标头,列,页面,选项按钮,分隔符属于容器类的集成部分,在类设计器中不能基于他们创建子类。

4.除去基类中的容器类就是控件类。

8.2控件

控件分为绑定型控件和非绑定型控件

1.标签:

用于保存不希望用户改动的文本,常用来为添加的控件写标题。

几个主要的属性:

Fontname(字体)

Fontsize(字号)

Fontbold(粗体)

Fontitalic(斜体)

Borderstyle(边框样式)

Backstyle(是否透明)

Autosize(自动调整大小)

Wordwrap(是否换行)

Caption(标签标题)

Name(标签名称)

Forecolor(字体颜色)

2文本框与编辑框:

(1)文本框:

可以通过其显示,输入或编辑保存在表中的非备注型字段的数据,框中一般是单行的文本。

有关的主要属性:

controlsource

指定与文本框绑定的数据源

Value

指定文本框的当前选定的值

Inputmask

指定控件中数据的输入格式和显示方式(X,9,A,)

Format

指定控件的VALUE属性的输入和输出格式(A,D,K,T,!

Passwordchar

指定其他字符来掩盖其输入的字符

Alignment

文本的对齐方式

Borderstyle

边框样式

Backstyle

是否透明

Specialeffect

是否具有三维格式

(2)编辑框:

与文本框类似,可以输入多行文本或编辑长字段或备注字段,允许自动换行并能用光标移动键,操作滚动条来浏览。

Controlsource

如果定为备注型,就可以利用编辑框显示或编辑备注型字段。

Scrollbars

决定编辑框是否有垂直的滚动条

Name

编辑框的名称

3命令按纽和命令按纽组

Caption:

命令按纽标题文本,注意访问键的添加。

Picture:

命令按纽上图形(图形按钮,文本按钮)

Name:

命令按纽名字

Downpicture:

命令按纽被选中时的图形

Enabled:

命令按纽是否可用(有效)

Default:

指定按下ENTER键时,哪个按纽响应。

Cancel:

指定该按纽是否为取消按纽

Visible:

指定该按纽是否可见

Buttoncount:

命令按纽组中按纽的个数(计数属性)

Value:

指定控件的当前状态(命令按钮组的按钮状态)。

Borderstyle:

Autosize:

根据内容自动调节大小。

Clickevents:

单击事件

4列表框:

主要用于显示一组预定的值并可以通过滚动条操作浏览列表信息,用户可以从列表框中可以选择需要的数据。

主要属性:

rowsourcetype:

指定列表框中的数据类型(如表或查询)(通常有三种常用选择:

(1),SQL语句(3),字段(6))。

Rowsource:

指定列表框中的数据(具体的值,字段,SELECT-SQL)

Controlsource:

用于指定用户从列表框中选择的值保存在何处(与boundcolumn一起使用)。

Columncount:

指定列表框中包含几列

Boundcolumn:

指定哪一列绑定到VALUE属性上

Mutiselected:

确定在列表框中能否进行多行选择

Sorted:

按字母进行排序

Moverbars:

显示移动条,进行手工排序。

Listcount:

列表框或组合框中的元素的个数

Additem方法:

在列表框或组合框中添加数据元素

Removeitem方法:

在列表框或组合框中移去数据元素

Selected()方法:

指定列表框或组合框中的数据元素是否处于选中状态

5组合框:

一种下拉式的列表框,可以从中选择一项或人工输入一个值,兼有列表框和文本框的功能,但只能显示一列,可通过属性来设置输入还是显示(style-0—下拉组合框;

2—下拉列表框)

6选项按纽组:

选项按纽组允许用户从中选择一个按纽,选项按纽旁边的圆点指示当前的选择。

主要的属性:

buttoncount:

设置按纽组中按钮的个数

caption:

设置每个按纽的标题,(\<

D)

alignment:

设置按纽的标志和标题的排列方式

value:

表明用户选定的哪一个按纽

controlsource:

设置选项的数据源的来源,或将选项值写入数据源

7复选框:

利用复选框指定或显示一个逻辑状态:

真/假,开/关,是/否等

设置复选框的标题

设置复选框的数据源,通常是表中的逻辑型字段。

Style:

指定复选框控件的样式(图形或标准样式)

Value:

指定复选框控件的状态

复选框的显示状态和VALUE的对应关系:

状态

VALUE值

没选中

0或.F.

选中

1或.T.

复选框变为灰色

2或.NULL.

8微调框:

微调框控件(SPINNER):

通过单击微调框控件的上箭头或下箭头,或者在微调框内键入一个数值,

controlsource:

指定与对象建立的数据源

value:

控件的当前状态

keyboardhighvalue:

键盘接受的最大值

keyboardlowvalue:

键盘接受的最小值

spinnerlowvalue:

按钮接受的最小值

spinnerhighvalue:

按钮接受的最大值

increment:

每次的增量

9表格:

表格是一种将数据以表格形式表示出来的控件,一个按行和列显示数据的容器对象,表格包括列,列标头,列控件等。

表格属性:

Allowheadersizing

(表头高度)

Allowrowsizing

(行高度)

Columncount

(列的数目)

Deletemark

(显示删除列)

Recordsourcetype

(数据源类型)

Recordsource

(数据源)

(滚动条)

Setall(某一类控件设置属性)

列控件属性:

(列控件的数据源)

Resizable

(列大小是否调整)

Dynamicfontsize

(动态调整字体的大小)

Dynamicforecolor

(动态调整字体的颜色)

列标头属性:

Alignment(对齐的方式)

Caption(列标题)

1利用表格的列控件的controlsource属性绑定字段,并利用INIT事件代码改变不及格学生的成绩的字体大小和颜色(两种方法)。

60,14,9)”

This.column3.dynamicforecolor=”iif(cj.cj<

60,rgb(255,0,0),rgb(0,0,255))”

This.setall(“dynamicbackcolor”,”iif(mod(recno(),2)=0,rgb(255,0,0),rgb(0,255,0)”,”column”)

10页框:

一种用于创建选项卡式对话框的容器类,一个页框可以包含多个页面,但每次

只能有一个活动页面。

pagecount:

包含的页面数目

tabs:

确定页面的选项卡是否可见

tabstyle:

指定选项卡大小均等且页框的宽度相同

backcolor:

页面的背景色

caption:

选项卡的标题

tabstretch:

对选项卡的标题太长的显示设置

activepage:

设置页框中的活动页面

11计时器:

计时器是在应用程序中用来处理复发事件的控件,该控件在运行时不可见,用于后台处理。

timer事件:

经过interval时间间隔发生的事件

enabled:

可以通过该属性在外部事件来启用计时器

interval:

指定计时器控件的timer事件之间的时间间隔(毫秒)

8.3典型例题精解

【选择题】

【例1】在VisualFoxPro系统中,用户不能自定义。

A.对象的属性B.对象的方法C.对象的事件D.对象所基于的类

【例2】下列VFP类中,不能基于它创建子类(派生类)的是。

A.线条(Line)B.页框(PageFrame)C.形状(Shape)D.标头(Header)

在VFP类中,能创建子类的类包括:

表单集、表单、工具栏、命令按钮组、命令按钮、文本框、微调框、表格、页框、组合框、复选框、选项按钮组、计时器、OLE控件、图像、形状线条。

不能创建子类的类包括:

标头、列、页面、选项按钮、分隔符。

【例3】在下列VisualFoxPro的基类中,无Caption属性的基类是_______。

A.标签B.选项按钮C.复选框D.文本框

在VFP基类中,无caption属性的基类有:

表单集,文本框,编辑框,微调框,表格,页框(页面有caption属性),组合框,列表框,选项按钮组(选项按钮有caption属性),计时器,OLE控件,图象,形状,线条,分隔符。

【例4】下列四组基类中,同一组中各个基类全是容器型的是。

A.Form,Column,TextBox

B.CommandButton,OptionGroup,ListBox

C.CommandGroup,DataEnvironment,Header

D.Grid,PageFrame,Column

【例5】某表单FormA上有一个命令按钮组CommandGroup1,命令按钮组中有四个命令按钮:

CmdTop,CmdPrior,CmdNext、CmdLast。

若要求按下按钮CmdLast时,将CmdNext的Enable属性置为.F.,则在按钮CmdLast的Click事件中加入命令。

A.This.Enable=.F.B.This.Parent.CmdNext.Enable=.F.

C.This.CmdNext.Enable=.F.D.Thisform.CmdNext.Enable=.F.

【例6】数据环境泛指定义表单、表单集或报表时使用的数据源,数据环境中只能包含。

A.表、视图和关系B.表C.表和关系D.表和视图

【例7】对于表单来说,用户可以设置其ShowWindow属性。

该属性的取值可以为_____。

A.在屏幕中或在顶层表单中或作为顶层表单

B.普通或最大化或最小化

C.无模式或模式

D.平面或3维

【例8】如果表单中有一命令按钮组,且已分别为命令按钮组和命令按钮组中的各个命令按钮设置了Click事件代码,则在表单的运行过程中单击某命令按钮时,系统执行的代码是。

A.该命令按钮的Click事件代码

B.该命令按钮组的Click事件代码

C.先命令按钮组的Click事件代码,后该命令按钮的Click事件代码

D.先该命令按钮的Click事件代码,后命令按钮组的Click事件代码

分析:

若命令按钮组及其所包含的各命令按钮分别设置了Click事件代码,VisualFoxPro系统将根据用户单击的位置执行相应的程序代码:

若单击命令按钮组区域内、命令按钮区域外,命令按钮组的Click事件将被触发;

而单击命令按钮组内某一命令按钮,则相应命令按钮的Click事件被触发。

若命令按钮组设置了Click事件代码而其所包含的各命令按钮没有设置Click事件代码,那么不管是单击命令按钮组区域内、命令按钮区域外,还是单击命令按钮组内某一命令按钮,都相应命令按钮组的Click事件。

【例9】关于表格控件,下列说法不正确的是。

A.表格的数据源可以是表、视图、查询B.表格中的列控件不包含其他控件

C.表格能显示一对多关系中的子表D.表格是一个容器对象

表格(Grid)控件是一个容器控件,表格包含列(Coloumn),第i列表示为Coloumn(i),列包含标头(Header)和文本框(Text)。

表格能显示各类表(自由表、主表、子表)。

表格控件的数据源类型只能是表、视图、查询。

【例10】可以添加到自定义工具栏上的控件。

A.只能是命令按纽

B.只能是命令按纽和分隔符

C.只能是命令按纽、文本框和分隔符

D.是除表格以外的所有可以添加到表单上的控件

答案:

D

【例12】以下几组控件中,均可直接添加到表单中的是。

A.命令按钮组、选项按钮、文本框

B.页面、页框、表格

C.命令按钮、选项按钮组、列表框

D.页面、选项按钮组、组合框

【例13】以下几组控件中,均具有ControlSource属性的是______。

A.EditBox,Grid,ComboBox

C.ComboBox,Grid,Timer

B.ListBox,Label,OptionButton

D.CheckBox,EditBox,OptionButton

解析:

具有ControlSource属性的控件是:

Text(文本框)、EditBox(编辑框)、OptionGroup(选项按纽组)、CheckBox(复选框)、ComboBox(组合框)、ListBox(列表框)、Spinner(微调框)。

选D。

【填空题】

【例1】事件是对象能够识别的一个动作,方法是对象能够执行的一组操作。

对于SetFocus和GotFocus,是方法,是事件。

事件和方法是容易混淆的概念,事件是对象能够识别的一个动作,方法是对象能够执行的一组操作。

【例2】已知某表单子类cformA含有一个命令按钮,且命令按钮的Click事件代码为:

Thisform.Backcolor=RGB(255,255,0)。

基于该子类创建并运行表单formk,则单击表单上的命令按钮后,表单的背景颜色为。

如果在表单formk中重新为

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

当前位置:首页 > 教学研究 > 教学计划

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

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