VFP第七章双号例题.docx
- 文档编号:14225912
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:10
- 大小:18.98KB
VFP第七章双号例题.docx
《VFP第七章双号例题.docx》由会员分享,可在线阅读,更多相关《VFP第七章双号例题.docx(10页珍藏版)》请在冰点文库上搜索。
VFP第七章双号例题
例7-2建立一个(宽)490*(高)240(像素)而且自动居中的表单,标题为我的图板,运行表单时,按左键可以画红色的图形,按右键可以画黄色的图形,画图期间鼠标指针为笔形。
解答:
(1)新建一个表单,设置它的WIDTH属性为490,HEIGHT属性为240,AUTOCENTER属性为.T.,CAPTION属性为我的图板;
(2)在mousedownevent过程中加入以下程序代码:
this.pset(nxcoord,nycoord)
this.mousepointer=99
this.mouseicon=”d:
\人事管理\graphset\笔形.cur
(3)在mousemoveevent过程中加入以下程序代码:
ifnbutton<>0
ifnbutton=1
this.forecolor=rgb(255,0,0)
else
this.forecolor=rgb(255,255,0)
endif
this.line(nxcoord,nycoord)
endif
(4)在mouseupevent过程中加入以下程序代码:
this.mouseicon=””
this.mousepointer=0
(5)关闭表单设计器,保存表单文件为testform4.scx;
(6)运行表单,可以按左右键在表单上绘图,绘图时指针为笔形。
例7-4设计一个输入用户密码的表单,输入密码时在文本框中显示“”,三次输入不正确时显示对不起,你不是合法用户!
然后结束表单运行;输入正确密码后显示“密码正确!
可以进入系统。
”然后结束表单运行。
(1)从项目管理器中新建一个表单(pwform.scx);
(2)在表单设计器中,设置表的属性:
windowstype为1(模式);closable为假;
(3)在代码窗口中打开表单的initevent过程,加入以下代码:
publicinputnumber,oldpassword
inputnumber=0
oldpassword=”123456”
newpassword=””
(4)在表单的destroyevent过程中加入以下释放所有表单中定义的变量的代码:
releaseinputnumber,oldpassword,newpassword
(5)在表单上添加一个文本框对象;
(6)对文本框的以下几个属性作设置:
controlsource为“newpassword”(与此变量捆绑);passworword为”*”;inputmask(控件数据的输入和显示形式)为”999999”;
(7)在validevent过程中加入以下代码:
ifnewpassword!
=oldpassword
inputnumber=inputnumber+1
=messagebox(“密码输入不正确,第”+str(inputnumber,2)+”次输入失败!
”)
ifinputnumber<3
newpassword=””
thisform.refresh
return.f.
else
=messagebox(“对不起,你不是合法用户!
”)
thisform.release
endif
else
=messagebox(“密码正确!
可以进入系统。
”)
thisform.release
endif
(8)文件存盘后关闭表单设计器;
(9)运行表单可以看到,完全满足题目的要求。
例7-6设计一个表单,使之可以显示或编辑数据表rsgl.dbf中各个记录的编号、姓名、性别、简历四个字段的数据,在表单上添加一个有四个按钮的按钮组。
四个按钮的键面文字分别为:
“首记录(T)”、”上记录(U)”、”下记录(D)”和”末记录(B)”另外加一个”退出(X)”按钮。
当前记录为首记录时,按钮组中的一、二两个按钮不可用;当前记录为末记录时,三、四两个按钮不可用。
单击”退出”时结束表单运行。
(1)建立新表单,在表单的数据环境下添加上数据表RSGL.dbf,表单的其他属性听便。
(2)在表单上添加三个text控件和一个edit控件,通过三个text控件和edit控件的生成器设置它们的controlsource属性分别为rsgl.编号、rsgl.姓名、rsgl.性别、rsgl.简历,其他属性听便。
在屏幕上把各个控件拖动至合适的大小。
(3)添加四个标签对象,将他们设置成四个字段控件的文字提示;其他装饰性的控件如线条、框线等听便。
(4)添加一个命令按钮组控件,选中按钮组,打开他的生成器,作如下的设置:
1按钮个数:
4;
2表格中的四个按钮caption属性分别为:
“首记录(\ 3在“布局”选项卡中设置按钮布局为“垂直”,按钮间隔为15,边框样式为“单线条”; 4单击“确定”按钮关闭生成器。 (5)在表单的Initevent过程中加入以下代码: mandgroupmand1.enabled=.f. mandgroupmand2.enabled=.f. (6)进入按钮组的编辑,对四个按钮,分别在他们的click过程中加入以下代码: 1在“首记录”按钮的clickevent中加入代码: gotop mand3.enabled=.f. mand4.enabled=.f. mand1.enabled=.t. mand2.enabled=.t. 2在“上记录”按钮的clickevent中加入代码: skip-1 ifrecno()=1 mand1.enabled=.f. mand2.enabled=.f. endif mand3.enabled=.t. mand4.enabled=.t. thisform.refresh 3在“下记录”按钮的clickevent中加入代码: to_rec=recno() gobottom bottom_rec=recno() goto_rec skip ifrecno()=bottom_rec mand3.enabled=.f. mand4.enabled=.f. endif mand1.enabled=.t. mand2.enabled=.t. thisform.refresh 4在“末记录”按钮的clickevent中加入代码: mand1.enabled=.f. mand2.enabled=.f. 5结束按钮组的编辑。 (7)在表单上添加一个按钮,把它的caption属性设置为“退出(\ THISFORM.RELEASE (8)调整好表单上各种控件的大小和布局,设计好后关闭表单设计器,保存表单名为TESTCMD.SCX。 (9)运行表单TESTCMD.SCX,在屏幕上当单击四个移动记录指针的按钮时,表单上显示出当前记录的字段值,当移到首记录或末记录时会分别出现第一、二个按钮或第三、四个按钮不可用的情况。 单击“退出”按钮时关闭表单结束。 例7-8在记录编辑与浏览表单上再加一个文字为“已婚”的复选框,用来显示与编辑“婚否”字段;再加一个“退出时显示提示框”的复选框,选上此项后,在单击“退出”时在提示框中显示“确实要退出表单? ”,单击“确定”退出,单击“取消”时不退出。 (1)在表单编辑器中打开表单testcmd.scx,添加复选框check1和check2。 (2)设置check1的caption属性为“已婚”,CONTROLSOURCE属性为RSGL.婚否。 (3)设置check2的caption属性为“退出时显示提示框”。 (4)适当调整表单上对象的位置和大小 (5)将原来“退出”按钮的clickevent过程代码改为: ifthisform.check2.value=1 ask=messagebox(“确实要退出表单? ”,1,”向您提示”) ifask=1 thisform.release endif else thisform.release endif (6)存盘关闭表单设计器。 (7)运行该表单,当单击命令按钮移动记录指针时,可看到那些婚否值为真的记录,其已婚复选框是选定的。 不选择“退出时显示提示框”复选框单击“退出”按钮时,直接结束表单运行而不出现提示框;当选择了“退出时显示提示框”复选框再单击“退出”按钮时会立即显示一个“向您提示”框,单击“确定”按钮时才退出表单运行,单击“取消”按钮时则不退出表单。 例7-10为数据表rsgl.dbf设计一个表单,再列表框中有两列,第一列为部门,第二列为姓名,运行该表单时,可以在表单中选择,双击选中的数据项,则在姓名文本框text1中显示选中者的名字,在右边的照片区显示出此人的照片。 表单运行结束后能返回最后选定的人的姓名。 解答: (1)新建一个表单;设置表单的windowtype属性为1(模式),表单的caption属性为”人员选择”;在数据环境中加入数据表rsgl.dbf和rsda.dbf,并且将前者与后者按编号关联;在表单的initevent过程中加入以下代码: publiccname cname=姓名 thisform.refresh 在unloadevent过程中加入以下代码: cname=cname releasecname returncname (2)添加一个文本控件text1,设置他的controlsource属性为cname (3)添加一个activex捆绑型控件oleboundcontrol1,设置他的controlsource属性为rsda.照片。 (4)添加一个列表框控件list1,可以用生成器设置各个属性,也可以直接设置以下几个属性: list1.columncount=2 list1.boundcolumn=2 list1.rowsource=”rsgl.部门名,姓名” list1.columnwidths=”70,57” list1.columnlines=.t. (5)在列表框list1的dblclick过程中加入以下代码: cname=this.value thisform.refresh (6)设置好表单上各控件的大小、位置和布局。 将表单存盘为TESTLIST2.SCX文件,关闭表单编辑器。 (7)运行表单,可以看到列表中有两列数据项。 在列表框中选择后,双击选中的数据项,可使姓名框和照片变成选中者的姓名和照片。 如果通过命令: DOFORMD: \人事管理\testlist2.scxtonewname 运行表单,则表单运行结束后,变量newname中的值为最后选中的人的姓名。 例7-12设计一个发表论文情况编辑器表单,在表单中从一下拉列表中选择一个人的名字时,分别在两个文本框中显示出此人的编号和部门,在一个表格中显示出此人所发表的所有文章信息。 单击“编辑”按钮时可以对表格编辑,单击“浏览”按钮(和“编辑”按钮为同一按钮)时只能浏览表格。 解答: (1)新建一个表单,在数据环境中添加两个数据表rsgl.dbf和lunwen.dbf,并且以rsgl.dbf为主表以为lunwen.dbf子表将两者按编号关联。 (2)在表单上添加两个文本框text1和text2,分别设置他们的controlsource属性为rsgl.编号和rsgl.部门,设置enabled属性为.F.。 (3)添加一个组合框combo1,用生成器设置成一个姓名字段的下拉式列表(因为在这里不需要输入),在组合框的clickevent过程中加入以下代码: selectlunwen settiltertorsgl.编号=lunwen.编号 selectrsgl thisform.refresh (4)添加两个按钮: ”编辑”按钮command1和”退出”按纽command2。 除要设置caption属性外,还要在”编辑”按钮的clickevent过程中加入以下代码: ifalltrim(this.caption)=”编辑” thisform.grid1.readonly=.f. this.caption=”浏览” else thisform.grid1.readonly=.t. this.caption=”编辑” endif thisform.refresh 在”退出”按钮clickevent的过程中加入以下代码: thisform.release (5)添加一个表格控件grid1,通过生成器设置为子表lunwen.dbf的表格,再从属性窗口设置以下几个属性: grid1.allowaddnew=.t. grid1.deletemark=.t. grid1.recordmark=.t. grid1.readonly=.t. (6)适当调整各个控件的大小和位置后存盘并关闭表单编辑器。 例7-14设计一个表单,在表单上以一个风景图片为背景,添加一个热气球图片控件,另有两个按钮: “开始”和“结束”。 当单击“开始”按钮时,气球可以在水平方向上缓缓移动,当遇到左右边框时再向反方向移动。 单击“停止”按钮气球则停止运动。 (1)新建一个表单,将他的大小调整适当;autocenter属性设置为“真”;为了使设计的表单更美观,通过picture属性设置风景图片“e: \人事档案管理\风景.bmp”为表单背景(也可以在表单上添加一个风景图片对象)。 在表单的initevent过程中加入以下代码: publicff ff=.t. 在表单的destroyevent过程中加入以下代码: releaseff (2)在表单上添加一个图片控件image1,设置picture属性为”e: \人事档案管理\气球.bmp”,背景样式(backstyle)为透明。 (3)添加两个命令按钮: 第一个为”开始”按钮,其clickevent过程代码为: thisform.timer1.enabled=.t. 第二个为”停止”按钮,其clickevent过程代码为: thisform.timer1.enabled=.f. (4)添加一个计时生成器控件timer1,设置他的interval属性为20(毫秒);enabled属性为.F.;在他的timer事件过程中加入代码: ifff thisform.image1.left=thisform.image1.left+2 else thisform.image1.left=thisform.image1.left-2 endif ifthisform.image1.left<0orthisform.image1.left>; thisform.width-thisform.image1.width ff=notff endif (5)调整好表单上控件的位置,将最后的表单存盘为表单文件名myformx.scx,关闭表单设计器。 (6)运行表单,当单击”开始”按钮时,表单上的气球开始运动,到达边框时再向反方向运动。 当单击”停止”按钮时运动停止。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VFP 第七 双号 例题