2015年计算机二级VFP考试基础教程(33)
发布时间:2010/11/27 23:18:01 来源:城市学习网 编辑:ziteng
九。为表单创建新方法程序:
1.打开表单,单击"表单"菜单,选"新建方法程序"菜单,系统显示"新建方法程序"对话框
2.输入方法程序的名称后,单击"添加"按钮即可,如图10.
方法程序代码应在"属性"窗口的"方法程序"选项卡中选择该方法程序名双击,在弹出的编辑器中输入方法程序。新建的方法程序的执行方法与系统提供的方法程序相同。
十。例一:制作表单xggz.scx,修改人员工资数据。
1.新建一个表单,右击表单空白处,将"工资情况"表添加到数据环境中
2.在"数据环境设计器"中,将"工资情况"表的各个字段,依次拖到表单 3.向表单添加5个命令按钮:command1,command2,command3,command4和command5,将它们的caption属性依次设为"第一个","上一个","下一个","最后一个","退出",并调整它们的位置,如图13.
再次说明一下修改控件属性的方法:以command1为例,在"表单设计器"中选中command1,其四周出现黑色方块,表明已被选取。然后在"属性"窗口中选"全部"选项卡,拖动滚动条,选中caption属性,在上方的文本框中输入属性值:第一个,如图14
4.将表单的caption属性(即标题栏显示的内容)设为"修改工资",autocenter属性设为。T.(此属性设为真,运行时表单自动居中).
5.编写代码:
* "第一个"按钮(command1)的click事件代码:
go top
thisform.refresh &&刷新显示
*"上一个"按钮(command2)的click事件代码:
if !bof()
skip -1 &&如果当前记录不是首记录,则向上移动一位记录指针
endif
thisform.refresh
*"下一个"按钮(command3)的click事件代码:
if !eof()
skip &&如果当前记录不是最后一条记录,向下移动一位记录指针
endif
thisform.refresh
*"最后一个"按钮(command4)的click事件代码:
go bottom
thisform.refresh
*"退出"按钮(command5)的click事件代码:
tui=messagebox("您确实要退出吗?",4+64,"提示信息")
if tui=6 &&如果此条件为真,说明运行时用户点了消息框中的"是",执行thisform.release释放表单
thisform.release
clear events
endif
6.保存表单到e:\myvfp,名为"xggz"
7.运行表单, 十一。例二:表单调用举例:建立一个名为diaoyong的程序文件,用程序代码调用例一中建立的xggz.scx表单
1.在命令窗口输入命令:modify command diaoyong,在弹出的代码窗口中输入如下代码:
set default to e:\myvfp
do form xggz
read events
2.在命令窗口如下命令执行程序:
do diaoyong
十二。例三:表单内部控件的事件发生顺序
1.新建一个表单,添加三个命令按钮,如图16
2.添加事件代码:
*表单的load事件:messagebox("form1.load")
*表单的inint事件:messagebox("form1.init")
*表单的click事件:messagebox("form1.click")
*表单的destroy事件:messagebox("form1.destroy")
*command1的init事件:messagebox("command1.init")
*command2的init事件:messagebox("command2.init")
*command3的init事件:messagebox("command3.init")
*commadn1的click事件:messagebox("command1.click")
3.保存表单文件为li3.scx,目录为e:\myvfp.运行li3.scx,观察事件发生的先后顺序。
十三。例四:修改表单li3.scx:
1.在命令窗口依次输入下面两条命令,打开表单li3.scx
set default to e:\myvfp
modify form li3.scx
2.向表单中添加一个文本框text1,为text1编写下列事件代码:
*text1的when事件:messagebox("text1.when")
*text1的gotfocus事件:messagebox("text1.gotfocus")
*text1的valid事件:
messagebox("text1.valid")
return .t.
*text1的lostfocus事件:messagebox("text1.lostfocus")
3.运行表单,单击text1文本框,观察文本框对象事件发生的先后顺序
4.将text1的valid事件的返回值改为。F.(即return .F.),运行表单,单击text1文本框,观察有何不同。