




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.3表单设计器
用表单向导设计表单,固然简单方便又不需要编写代码,但表单向导设计出的表单是
有一定的固定模式,功能也有限。如果想设计无固定模式,多功能的表单,表单向导是无
法实现的。VFP提供了表单设计器,面向对象编程的可视化工具,用以满足开发者设计风
格,功能齐全的表单。
表单设计器的环境
1.翻开表单设计器
(1)用界面的方式翻开
文件一新建或常用工具栏中的新建按钮,翻开新建对话框一在文件类型中选表单一新
建文件按钮,翻开表单设计器如图6.15所示。
劝©«MStreox*aiwo®«»ci>
口国⑷JL-
B小
■
nAra
s
mGJ
pe
Eal
・s
cn
rw
(iruxiik
e(WUCTI
”F-W4
•F-Hl
.*T-
、•
,-
dtUXWI
0无B
,・.・i
(BUJtfBl
E--
(9U32S)
T-XI
T-Ml
图6.15表单设计器
(2)用命令方式翻开
格式:MODIFYFORM[〈表单名〉|?]
功能:翻开表单设计器,创立或修改由表单名指定的表单。
说明:无选项或选?,将出现翻开对话框,选一个表单或输入一个表单名,输入的表
单名如果不存在那么创立新的表单,如果存在那么对原表单进行修改。
2.表单设计器环境
在表单设计器中有FORM表单,表单设计器工具栏,如图6.15所示,假设表单设计器工
具栏被隐藏,可通过如下步骤翻开:显示一工具栏,翻开工具栏对话框一选择表单设计器
(1康单设计器工具栏
表单设计器工具栏按钮如图6.16所示。
icrosoftVisualFoxPro
文件国)编诣②显示W)格式@)表用如工只9程序电)窗口⑹帮助Qi)
口|国・|副[Tab键次序@)
数据环境色).二1_11些1「"U囿「
回学师幽但
尾性(P)
代码值
y表单痉件工且栏工)
y布局工具栏(I)'
潮色板工具栏(5)
v网格线(G)
显示位废电)
工具栏(T)...
图6.16
1)设置Tab键次序
单击此按钮,可显示按下Tab键时,光标在表单各控件上移动的顺序。要改变顺序可用
鼠标按需要顺序单击各控件的显示顺序号。控件是VFP所有图形构件的统称,控件可以快
运构造应用程序的输入输出界面,表单的设计与控件是密不可分的。
2)数据环境
单击此按钮,可以为表单提供表,数据库表,视图的数据环境。
3)属性窗口
单击此按钮可以翻开或关闭属性窗口,如图6.17所示。属性窗口用于对各对象设置属
性。属性窗口中,对象下拉列表用来显示当前对象。全局选项卡是列出全部选项的属性和
方法,数据选项卡是列出显示或操作的数据属性,方法选项卡显示方法和事件,布局选项
卡显示所有布局的属性,其他选项卡显示自定义属性和其他特殊属性。
图6.17属性窗口
4)代码窗口
单击此按钮,可翻开或关闭代码窗口,代码窗口用于对对象的事件与方法的代码的编
辑。
5)表单控件工具栏
击此按钮,可翻开或关闭表单工具栏。表单工具栏提供了21个控件和选定对象,查看
类,生成器锁定,按钮锁定等几个图形按钮。如图6.1B所示。在设计表单中用控件设计图
形界面。假设想知道某一个控件的名称,只需要把鼠标放到这个控件上。
图6.18表单控件工具栏
6)调色板工具栏
单击按钮,可翻开或关闭调色板工具栏,该工具栏用于对对象的前景和背景进行设置。
7)布局工具栏
单击此按钮,可翻开或关闭布局工具栏,可对对象位置进行设置。
8)表单生成器
单击此按钮,可翻开或关闭表单生成器,直接以填表的方式对相关对象各项设置。
9)自动格式
单击此按钮,可翻开或关闭自动格式生成器,可对各控件进行设置。
例6.1设计一个显示图6.19所示的表单。当单击表单上的文字时文字变为“学习要勤
奋〃,再双击就又恢复成以前的文字。单击退出释放表单。
图6.19例6.1表单
步骤:
1)翻开表单设计器
2)翻开表单工具栏,属性窗口
3)在表单上添加一个标签控件和一个命令按钮控件
4)将当前对象选为Label1,将它的Caption属性设置为“欢送新同学〃
5)将当前对象选为Commandl,将它的Caption属性设置为“退出〃
6)双击Labell控件,翻开代码窗口。将当前对象选为Label1,过程中选Click事件,在代
码编辑窗口中输入This.C叩tion="学习要勤奋”,如下图。
7)过程中选DblClick事件,在代码编辑窗口中输入This.Caption="欢送新同学〃
8)将当前对象选为Commandl,过程中选Click事件,在代码编辑窗口中输入
ThisForm.release
9)关闭代码窗口
1。)保存
文件一保存,或常用工具栏保存按钮,翻开另存为对话框一输入表单名P6」f保存
11)执行表单
单击常用工具栏的运行按钮
控件的操作与布局
1.控件操作
(1)在表单中放置控件
翻开表单设计渊和表单控件工具栏,单击表单控件工具栏中的所需控件如命令按钮,
然后在表单适当的位置调整成适当的大小。如图6.20。
D]a»W,--।21•!ac••t匕―,・京
图6.20
(2)控件在表单中的复制与粘贴
选表单中已存的控件,如Commandl-右犍翻开快捷菜单-*选择复制一在表单适当的位
置翻开快捷菜单项选择择粘贴。假设位置不理想,可以通过拖拽的方式移动控件。
(3)调整大小
选需要调整大小的控件如Command1,可用拖拽控件四周的8个黑色方块来调整大小。
也可以通过属性设置来调整控件的大小。控件的宽度属性为Width,高度属性为Heiht,左上
角坐标属性为Leif和Top。
(4)删除控件
选中要删除的控件一Del键。
(5)在表单中放置多个同类的控件
单击表单,具栏上的锁定按钮,然后选定要添加的控件,此时可反复添加多个相同的
控件。再次单击锁定按钮可取消锁定。
2.控件的布局
翻开布局工具栏,如图6.21所示。要使用布局工具栏中的按钮的功能,先要对表单进
行多重选定。
布局
后
DDI舟<0
回国囹
ES回电
图6.21布局工具栏
多重选定就是同时选中两个以上的控件,选择方法为先按住shifi键,再用鼠标单击选
择的控件或用鼠标拖拽的方法将所要选的控件选中。
如图6.22所示表单中有两个命令按钮,假设要使它们两个左对齐可同时选中两个控件,
单击布局工具栏的左对齐按钮即可。
图6.22多重选定控件
数据环境
数据环境要在表单翻开的情况下使用,当表单关闭或释放时它就关闭。
1.翻开数据环境设计器
有三种方法:
(1)显示一数据环境
(2)单击表单设计器工具栏中的数据环境按钮
(3)在表单设计器中的空白处按右键,翻开快捷菜单一数据环境。如图6.23所示。
据环境设计驾■Znx
图6.23数据环境设计器
2.向数据环境设计器中添加表或视图
数据环境一添加,或在数据环境设计器的空白处按右键一添加,翻开添加表或视图对
话框如图6.23所示一其他,翻开翻开对话框,选表一确定一在数据库和表列表中选表一添
加。
3.数据环境中关系的设置
假设添加的多个表之间己建立过关系,那么在数据环境设计器中还保持且显示这些关
系。假设表之间没有关系可建立关系,方法是将表设计器翻开先对主表和子表建立相应的
索引,用前面讲过的方法,将主表的主关键字段或侯选关键字段拖到子表相应子段上即可。
删除关系即选定关系连线按Del键。
4.从数据环境设计器中移去表或视图
选要移去的表或视图一数据环境,或单击右键翻开快捷菜单一移去。
5.向表单中添加字段
假设将整个表的字段添加到表单中,可在数据环境设计器中拖住要添加表,将其放置
到表单的适当位置。假设要将某个字段放到表单中,那么要在数据环境中选中此表对应的
字段名放到表单的适当位置。数据环境的作用主要就是向表单中添加字段。
例6.2设计一个表单,它可以对表进行浏览、编辑、并可以释放表单(即退出),界面
如图6.24所示。
图6.24例6.2表单
步骤:
(1)翻开表单设计器与数据环境设计器
⑵将学生表添加到数据环境设计器中
(3)然后将学生表中的字段拖放到表单中。
(4)按图6.24建立界面与设置相应属性
(5)Forml的Init事件代码
thisformmandl.enabled=.t.
thisformmand2.enabled=.t.
thisformmand3.enablcd=.t.
thisformmand4.enabled=.t.
thisformmand5.enabled=.t.
thisformmand6.enabled=.t.
"Enabled属性是按钮是否可用默认值为.T.代表可用。
(6)Commandl的Click事件代码
gotop
thisformablcd=.f.
thisformmand3.enabled=.t.
thisform.refresh
(7)Command2的Click事件代码
if!bof()
skip-1
else
gotop
endif
thisformablcd=.t.
thisform.refresh
(8)Command3的C1ick事件代码
if!eof()
skip
else
gobott
endif
thisfbrmmand2.enabled=.t.
thisform.refresh
(9)Command4的Click事件代码
gobottom
thisformmand2.enabled=.t.
thisformmand3.enabled二.f.
thisform.refresh
(10)Command5的Click事件代码
browse
(11)Command6的Click事件代码
thisform.release
设置属性与编辑代码
由例6.1已对表单的设计步骤与方法有了一个根本的了解,现在对设置属性与编辑代码
作进一步的介绍。
1.设置属性
(1)在属性窗口的对象卜・拉列表框中选要设置属性的对象
(2)在属性列表框中找到要设置的属性并选中该属性
(3)在属性设置框中输入具体设置的属性值
2.编辑代码
(1)翻开代码窗口的方法
1)单击表单设计器工具栏中的代码窗口按钮
2)双击表单工作区任意位置
(2)在对象下拉列表框中选要编辑代码的对象
(3)在过程下拉列表框中选要编辑的代码对象的事件或方法
(4)在代码编辑区中输入相应的代码
(5)关闭代码编辑窗口,有两种方法;
1)单击表单设计器工具栏中的代码窗口
2)单击代码窗口中的关闭按钮
表单的修改与运行
1.表单的修改
(1)翻开表单设计器
文件一翻开,或常用工具栏翻开按钮,翻开翻开对话框一在文件类型中选表单一在文
件列表中选要修改的表单一确定
(2)对表单进行修改
1)如果对表单中已有控件对象修改,方法与设置属性和编辑代码相同。
2)如果在表单中创立新的控件对象,可在表单控件工具栏中选中控件放到表单中,然后
对该对象进行属性设置和代码编辑。
3)假设要删除表单中的控件,选中该控件按Del键。
2.表单的运行
4种方法:
(1)单击常用工具栏中的运行按钮
(2)表单一执行表单
⑶执行表单(6.2节介绍)
(4)用命令执行表单
格式:DOFORM<表单名〉
功能:执行由表单名指定的表单。
如运行P6_1.scx,可以在命令窗口中输入DOFORMP6_U
6.4常用表单控件
标签控件
标签控件属于输出类控件,用于显示文本。它常用属性如表6.6所示。
表6.6标签常用属性
属性用途默认值
Caption标题,用于显示文件Label
Autosize是否随标题文本大小调整.F.
Alignment指定标题文本控件中显示的对齐方式0左对齐,1右对0
齐,2中央对齐
Borderstyl设置边框样式0无边框,1有固定单线边框0
e
BackStyle标签是否透明0为透明,1为不透明1
ForcColor设置标题文本颜色,0,0,。为黑色,255,255,255为0,0,0
白色
WordWap标题文本是否换行.T.换行,.F.不换行.F.
FontName设标题文本字体类型宋体
FontSize标题文本字体大小9
例6.3计算1+2+3…+1()0的和。表单界面如图6.25,表单中包含三个标签控件。
图6.25例6.3表单
步骤:
(1)按图6.3设置界面与属性
(2)Label2的Click事件代码
s=0
fori=lto10()
s=s+i
endfor
thisform.label2.caption=thisform.Iabel2.caption+str(s)
thisform.refresh
(3)Label3的Click事件代码
thisform.release
命令按钮
命令按钮用来触发事件,完成特定的功能,常用属性如表6.7所示。
表6.7命令按钮的常用属性
属性用途默认值
Caption标题Command!
Enabled按钮是否有效,.T.有效,.F.无效.T.
Default是否为默认按钮,.T.是,.F.不是.F.
Cancel是否取消按钮,.T.是,.F.不是.F.
Visual按钮是否可见,.T.可见,.F.不可见.T.
Picture设置图形文件,使按钮为图形按钮(无)
例6.4计算1()!表单如图6.26所示,表单中有两个标签和两个按钮。
图6.26例6.4表单
步骤:
(1)按图6.4设置界面和属性。
(2)计算按钮的click事件代码。
t=l
fori=1to10
t=t*i
endfor
thisform.label2.caption=thisform.label2.caption+str(t)
thisfonn.refresh
(3)退出按钮click事件代码。
thisfonn.release
(4)执行。
命令按钮组
1.常用属性
命令按钮组是容器控件,常用属性如图6.8所示。
表6.8命令按钮组常用属性
属性用途默认值
ButtonCount设置命令按钮组命令按钮的数目2
Button用于存取命令按钮组中各按钮的数目0
Value指定命令按钮组当前的状态,当属性值为数值型时,假设为N1
表示
第N个按钮被选中。当属性值为字符型时,假设为字符型值C,
表示命令按钮组中Caplion值为C的命令按钮组被选中。
2.命令按钮组生成器
翻开命令按钮组,选命令按钮组一右键。翻开快捷菜单一生成器,如图6.27所示。
图6.27命令组生成器
⑴按钮选项卡
①按钮的数目可用微调控件设置,
②标题可用表格设置,即可含文本也可含图形。
(2)布局选项卡
如图6.28所示,可对命令按钮组进行布局,间隔边框样式进行设置。
图16.28命令组生成器布局选项卡
3.编辑命令按钮组
选择命令按钮组一右键,翻开快捷菜单一编辑。命令按钮组周边有绿色边界,此时可
对命令按钮组中每一个按钮依次设置属性。
例6.5将6.2题用命令按钮组做。
步骤:
(1)按图6.24所示建立界面与属性。
(2)Forml的Init事件代码。
fori=lto6
thisformmandgroup1.buttons(i).enablcd=.t.
endfor
(3)Cmmandgroup1的click事件。
n=this.value
docase
casen=l
gotop
this.buttons(2).enabled=.f.
this.buttons(3).enabled=.t.
casen=2
if!bof()
skip-I
else
gotop
endif
this.buttons(3).enabled=.t.
casen=3
if!eof()
skip
else
gobottom
endif
this.buttons(2).enabled=.t.
casen=4
gobottom
this.buttons(2).enabled=.t.
this.buttons(3).enabled=.f.
casen=5
browse
casen=6
thisform.release
endcase
thisform,refresh
文本框控件
文本框控件是根本控件,可以输入,编辑数据。它可以处理除备份字段类型的数据,
一般包含一行数据,在接受字符型数据时,最多255个字符。
1.常用属性
表6.9文本框常用属性
属性用途默认值
ControlSours指定文本框的数据源,数据源可为字段或内存变量(无〕
e
Value指定文本框的值(无)
Passwordchar指定文本框的定位符,即当向文本框输入数据时不显(无)
示真实的数据而显示定位符。
InputMask用来指定数据的输入格式和显示方式,属性值为一个(无)
字符串,字符串由掩码组成如表2.2所示。
2.文本框生成器
翻开生成器
选文本框一右键,翻开生成器,如图6.30所示。
图6.30文本框生成器格式选项卡
⑴格式选项卡
用于指定文本的格式,输入掩码等。
(2)样式选项卡
用于指定文本框排列方式,如图6.31所示。
图16.31文本框生成器样式选项卡
⑶值选项卡
用字段下拉列表框中的列表来指定表或视图的字段,并用该字段存文本框的内容。
例6.6求n!表单如图6.33所示:
图6.33例6.6表单
(1)按图6.33设置界面与属性,textl与text2的value设为0。将text2的Enabled设为F。
(2)计算Command1的Click事件代码。
t=l
fori=lton
t=t*i
endfor
thisform.label2.caption=str(n)+"!"
thisform.text2.value=t
thisform,refresh
(3)退fl'Command?的Click事件代码。
thisform.release
此题的Tcxtl控件按题意是数值型的,因此将它的value设为0,以后在例题中假设有Text
控件只要题要求是数值型的,一定要先将value设为数值。
编辑文本框
编辑框可用于输入、显示、编辑数据。它只能编辑字符型数据,可编辑长的字符型字
段数据,备注字段数据,字符型内存变量数据,它可以编辑单行与多行数据。它最多能接
受2147483647个字符。
表6.10编辑文本框常用属性
属性用途默认值
Value用来指定控件的状态(无)
Readonly是否为只读,.T.为只读,.F.可编辑.F.
Scrollbar是否有滚动条,0无,2垂直滚动条2
Seistart返回用户在编辑框中所选文本的起始位置,取值范0
围:()~编辑框中字符总数
Seilength返1口1用户在文本输入区中选定的字符数目,或指定0
要选定的数目。
Scltcxt返回选定的文本,假设无选定文本,返回菜单。0
Hideselection使用焦点时是否隐藏选定标记,.T.隐藏,.F.不隐藏.T.
例6.7设计一个表单,完成如图6.34所示功能
图6.34例6.7表单
⑴按图6.34所示设界面与属性
(2)commandgroup1的click事件代码
n=this.value
docase
casen=1
thisform.edit1.value=""
casen=2
thisform.cdit2.value=M"
casen=3
thisform.edit2.value=""
casen=4
thisform.edit1,value=""
casen=5
thisform.edit1.value=t
casen=6
thisform.release
endcase
thisform.refresh
例6.8表单如图6.35所示。
图6.35例6.8表单
在edil中输入一行或多行字符串,在texll中输入字符串2,查找字符串2是否在edill
中存在,假设存在,用text2中字符串3替换。
分别在editl、textl、text2中输入字符串,editl中字符串一行或多行。在edit1中查找
tcxtl,假设存在,用text2内容替换。
(1)按图6.35设界面及属性,将editl的Hideselection设为.F.,以显示选定标记。
(2)commandgroupl的click事件代码
n=this.value
a=alll(thisform.edit1.value)
b=allt(thisform.text1.value)
b=allt(thisform.textl.value)
c=allt(thisform.tcxt2.value)
docase
casen=l
m=at(b,a)
ifm<>0
thisform.edit1.selstart=m-1
thisform.edit1.sellength=len(b)
else
messagebox("没查到!”)
cndif
casen=2
ifthisform.editl.seltext=b
thisfbrm.edit1.seltext=c
else
messagebox("没查到,不能替换?,)
endif
casen=3
thisform.release
endcase
thisform.refresh
复选框控制
用于在软件中提供应用户一种或多种选择,以便满足用户的要求。复选框是一个逻辑
框,它只有两种状态值:一种为.工,表示选上;一种为.F.,表示没选上。
1.常用属性
如表6.11所示。
表6.11复选框常用属性
属性用途默认值
caption方框右侧的文本Checkbox1
值。当。或.F.表示未选中,1表示被选0或.F.
中,2或null表示不确定
conirolsource数据流(无)
例6.9设计一个程序界面如图6.36所示,对人的能力测试。要求:1、3项必选,就显
示:“您是一个全面开展的人!〃,否那么显示“您要继续努力〃
(1)设置界面与属性如图6.36所示
图6.36例6.9表单
(2)确定command1的click事件代码
ifthisform.checkl.value=1.and.thisfbrin.check3.value=l
messagebox("您是一个人面开展的人!”)
else
messagebox("您要继续努力!")
endif
(3)退出
thisform.release
例6.10统计学生认输,按图6.37所示要求作。
⑴按图6.37所示建立界面与属性
图6.37例6.1。表单
(2)在数据环流中添学生表
(3)统计command1的click事件
xl=0
x2=0
yl=,,u
y2b
ms=""
ifthisform.chcck1.value=1
countfor性别二'男'tox1
y""男生人数:"
ms=ms+yl+str(xl)
endif
ifthisform.check2.value=1
counlfor性别女,tox2
y2T女生人数1
ms=ms+y2+str(x2,3)
endif
thisform.label2.caption=ms+"共有"+str(xl+x2)+"人"
thisfonn.refresh
(4)退出command的click事件代码
thisform.release
选项链接组
它是一个容器控件,包含多个选项组,用于在多种功能或多种条件下,用户只能选择
其中的一个功能或条件。选项按钮有生成器,可通过生成器对各按钮属性设置。控件生成
器翻开方法是一样的,就是选控件一一右键翻开快捷荚单一一生成器。以后生成器的翻开
方法就不再表达了。对各按钮属性设置也可选控件一一右犍一一编辑,控件周围出现绿色
边界,依次对每个按钮属性设置。
表6.12选项组成用属性
属性用途默认值
Buttoncount指定选项组按钮中按钮数目2
假设值为数值型n,表示第n个按钮被选中,假设为字符型
Value1
c,表示caption属性值为c的按钮被选中。
Controlsource指定数据源(无)
Buuons存取选项按钮组中每个按钮的数组0
例6.11统计学生成绩表中相关课程的平均分
⑴按图6.38设界面与属性。
图6.38例6.11
(2)在数据环流中添加学生成绩表。
(3)统计commendl的click事件代码。
settalkoff
store0tox1,x2,x3,x4,x5.x6
ms=”平均分:“
docase
casen=l
average学生成绩.数学toxl
y="数学”
ms=y+ms+str(xl)
casen=2
average学生成绩.VFPtox2
y="VFPM
ms=y+ms4-str(x2)
casen=3
average学生成绩.英语tox3
y二“英语”
ms=y+ms+str(x3)
endcase
thisfonn.label2.caption=ins
thisform,refresh
(4)退出command2的click事件代码。
thisform.release
例6.12完成如图6.39所示的功能。在textl中输入x,能选择计算出对应y值
(1)按图639所示建立界面与属性,textl的value为0
图6.39例6.12
⑵form1的active事件代码
(3)选项组按钮optiongroupl的click事件代码
n=this.value
docase
casen=l
y=2*x+l
casen=2
y=l()
casen=3
y=6*x-l
endcase
thisform.label2.caption='x="+str(x)+"时计算结果:"+"y="+str(y)
thisform.refresh
(4)退出command1的click事件代码
thisform.release
列表框控件
列表框是用于显示工程的列表,用户可以在列表框中选择一项或多项。列表框也有生
成器。翻开方法选中控件的快捷菜单中一一生成器即可。
1.列表框常用属性
如表6.13所示
属性用途默认值
Value返回列表框中被选择的工程。假设为N型数据返回工程次(无)
序号,假设为C型数据返回工程内容
Listcount指定列表框中工程数1
List用来存取工程的字符串数组,形式为控件对象.List(〈行>[.
列])
Columncount指定列数0
controlsource指定数据源(无)
select指定工程是否被选定。.t.为选定,.f.为没选定.F.
Multiselect是否允许多重选择。.1.或1允许,.1•为没选定.F.或0
Rowsourcetype0:(无),在程序中用additem向列表框中添加工程0-(无)
1:值,用手工指定工程如rowsource="aaa,bbb,ccc"
2:别名,将表中字段作为工程,由columncount指定取字段
数目
3:SQL语句,将select查询结果作为工程
4:查询(.qpr),将select查询结果作为工程
5:数组,将数组内容作为工程
6:字段,将表中字段作为工程
7:文件,将文件作为工程
8:结构,将表结构作为工程
9:弹出式菜单,将弹出式菜单作为工程
2.常用方法
如表6.14所示:
表6.14常用方法
方法用途
Addlistitem在rowsourcelype为0时为列表框添加器,形成addlistitem(工程值,[v行〉,
<列>])
Rcmovcitcm从rowsourcetype为0,列表框中删除一项
Clear去除表中各项
Nequery当rowsource值改变时,更新列表
例6・13设计如图6.40表单,在选中列表框中工程后,单击“计算〃,可计算出
的值,1取值为1~100
⑴按图6.40设置界面与属性。Columncount为3,即3歹ij,columuline为.F.,即列无分
隔线,columnwidth为40,60,各列宽度,nowsourcetype为0
图6.40例6.13
⑵form1的init事件代码
fori=1to100
a=allt(str(i))
thisform.listi.addlistitem(a,i,1)
a=allt(str(i*i))
thisform.listi.addlistitem(a,i,2)
a=allt(str(i*i*i))
thisfonn.list1.addlistitem(a,i,3)
endfor
a=allt(str(i))
thisform.refresh
(3)计算command1的click事件代码
store0tox,y,z,s
fori=lto100
ifthisform.listi.selected(i)
x=val(thisform.listl.list(i,1))
y=val(thisform.listl.list(i,2))
z=val(thisform.list1.lisl(i,3))
s=x+y+z
exit
endif
endfor
thisform.labeI2.caption=str(x,3)+"+"+str(y,4)+"+"+str(z,6)+,-"+str(s,8)
thisform.refresh
(4)退出command2的click事件
thisform.release
例6.14表单如图6.41所示,在listl中显示学生表的姓名字段,中选定一个学生姓名
右侧将显示该学生信息
(1)将学生表加到数据流中
(2)按图6.41所示建立界面与属性。Listl的rowsourcetype设为6,rowsource选学生姓
图6.41例6.14
(3)list1InterActivechange事件代码:
thisform.refresh
(4)退出command1的click事件代码
thisfbrm.release
组合框
组合框也是一种列表框,它有两种形式:一种是下拉式列表框与列表框一样,另一种
为下拉式组合框。下拉式组合框可以在列表框中选项,也可以输入一个值。组合框所常用
的属性与方法与列表框根本相同,但组合框没有多项选择择属性,即没有mulLselect属性。
它有一个重要属性就是style,用途如表6.15所示:
表6.15slylle没组合框形式属性
属性值用途
0下拉组合框。可在列表中选项,也可输入。是默认值。
1下拉式列表框。
例6.15设计一个用户登录界面,如图6.42所示,要求建立一个passx.dbf结构与内容
如表6.16所示
表6.16passx.dbf
用户名c(16)口令c(10)
王小丽Wxll23
刘志峰123456
李华明Lqqil2
赵凤玲Efl256
Commbl的数据来源为passx.dbf中的姓名字段。假设口令输入正确显示合法用户“欢
送使用!〃否那么显示“登录失败,非法用户〃
图6.42例6.15
⑴将passx.dbf添到数据环流中
(2)按图6.42建立界面与属性,将combo1的rowsourcetype设为6,Rowsource设为
passx.dbf,用户可将textl的passwordchar设为*
(3)登录command1的click事件代码
ifallt(thisform.text1.value)=allt(口令)
messagebox("合法用户,欢送使用!")
else
messagebox("登录失败,非法用户!")
endif
(4)取消command?的click事件代码
thisform.release
表格
表格是一种容器对象,它是按行列显示数据,外观与浏览窗口相似。
1.常用属性
如表6.15所示:
属性用途默认值
Columncount指定表格列数-1
Linkmastcr指定表格中显示子表为父表名(无)
recordsourcetype0:表。数据来源于由recordsource指定的表,该表能自1
动翻开
1:别名。数据来源于已经翻开的表,由recordsource指
定该表别名
3:查询。(.qpr)o数据来源于查询,由recordsource指定
一个查询文件。
4:SQL语句。数据来源于SQL语句,由recordsourcc指
定一条SQL语句
2.表格的组成
表格是由假设干个列组成。列是由标题和列控件组成。列有自己的属性和方法、事件,
因此表格用起来很灵活。
3.表格生成器
翻开表格生成潜:一一选表格一一右键翻开快捷菜单一一生成器即可,如图6.43所示:
(1)表格项选项卡
用于指定在表格中显示的字段
(2)样式选项卡
用于指定表格显示样式
(3)布局选项卡
主要用于指定列标题和表示字段值的控件。
(4)关系选项卡
用来指定两表之间的关系
例6.16在例6.5中增加一个表格作为浏览窗口如图6.44所示。要求是在表格中选一行
时左侧显示该行记录的全部信息。
(1)翻开数据环流,此时学生表已经存在界面了
(2)按图6.44建立主界面与属性
(3)翻开表格生成器:选表格一一右键,翻开快捷菜单一一生成器,如图6.43所示(假
设数据库和表列表中无需要的表一一3点,翻开对话框选表即可)一一选学生表一一将可
用字段到选定字段中一一确定。
(4)表格Gridl的AfterRowcoLchange事件代码
LPARAMETERSnCoLIndex&&此代码为系统固有
thisform.refresh
(5)在commandgroupl的click事件最后增加假设干命令
页框
页框是一种容器对象,页框中包含页面即页,而页中又可以包含其他控件。其实页框
就是选项卡对话框。页框实表单的有限容量间进行扩展。
1.常用属性
如6.16所示。
表6.17页框常用属性
属性用途默认值
PageCount指定页框中包含的数量,取值范围:992
Pages用于存取页对象的班组0
Tabs指定页框中是否显示页标签栏,.T.为有页标题栏,.F..T
为没有
Tabstredt1当页标题1标签)文本很长时,确定是否为多行显示,1
0为多行显示,1为平行显示多余的截去。
ActivePage用来返1可或指定激活页号。如PagelramelAvlivePage=31
第3天激活,§0x=PageFramel,activePage返回激活页
号给X.
Tabslyle页框中页是否调整。0,调整每个页宽度,容纳整个标0
题,1,不调整每个页宽度来容纳页标题
2.编辑页框
选页框一一右键,翻开快捷菜单一一编辑,在页框周遍出现绿色边界,此时可对页框
中的每个页进行编辑。
例6.17按如图6.45所示设计菜单
图6.45例6.17
(1)按图6.45所示设计界面与属性。即选页框一一右键,翻开快捷菜单一一编捐,分别
对Pagel与page设置控件与属性。
(2)pagel中计算command1的click事件代码
t=l
fori=lton
t=t*I
endfor
thisform.pageframel.label2.caption=str(n)+//!=〃+str(t)
(3)pagc2中计算command1的click事件代码
s=()
fori=lton
s=s+i
endfor
thisfonn.pageframeI.page2.1abcl2.caption=//1+2+…+str(n)+〃=〃+str(s)
(4)进入一页command1的click事件代码
thisfonn.pageframe1.activepage=1
(5)进入笫二页command?的click事件代码
thisform.pageframe1.activepage=2
(6)form1的Init事件代码
thisform.pageframe1.pages(1).caption="计算n!”
thisform.pageframe1.pag?s(2).caption=”计算1+2+...-n"
注意:假设己直接在属性窗口中己将两个页标题设完,5步就不用了。
例6.18表单如6.46所示,在Pagel中要求在组合框中选一个学生姓名,右侧将此学生
详细情况列出,在page2中要求浏览窗口上显示学生内容
图6.46例6.18
⑴将学生表加到数据环境中
(2)按图6.46设界面与属性,将combol的RowSourceType设为6,将RowSource设为
学生、姓名
(3)combol的Interactivechange事件代码,thisform>pageframe1>page1>refresh
(4)将数据环境中的学生表整体拖入pagc2中。
Interactivechange事件是在用户用键盘或鼠标修改控件值时发生。每当对象被复制更改
时就发生。
计时器与微调器
1.计时器
计时器是用语在程序中按一定的时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人护理工作总结
- 湖南幼儿师范高等专科学校《商务英语笔译实践二》2023-2024学年第一学期期末试卷
- 教师工作总结动态版
- 教育类书籍制作
- 安全教育支教
- 手术室护理文件书写标准
- 思维导图集训6小时找到适合你的高效学习法第8讲 如何打破思维框架:发散思维运用
- 危险废物仓库贮存管理
- 大学生安全培训资料
- 中期人工流产个案护理
- 模块三 幼儿教师职业口语训练课件 第十单元 幼儿教师教学口语
- 2024年中国劳动关系学院校聘岗位招聘考试真题
- 《劳动最光荣》名师课件
- 消防安全责任制度试题及答案
- GB/T 22474-2025果蔬、花卉酱质量通则
- 物业管理人员职业倦怠预防与心理疏导
- 电炉炼钢工职业技能知识考试题库
- 2025年新手护士考试题及答案
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- 精神发育迟滞的护理查房
- 被批评是奢侈的幸福
评论
0/150
提交评论