八。为表单创建新属性:
1.打开表单,单击"表单"菜单,选"新建属性"菜单项,系统弹出"新建属性"对话框
2.在该对话框的"名称"框中输入属性名,同时可在说明框中加上该属性的注释,单击"添加"即可,如图8
3.选access项和assign项,则在新建表单属性的同时创建该属性对应的方法程序,其中access方法在查询该属性时被执行,assign方法程序在修改该属性时被执行。
4.单击对话框中的"关闭"按钮,该属性即被添加到"属性"窗口中,选中表单,在"属性"窗口中可选中并检查该属性,如图9
Visual FoxPro基础教程完整版九。为表单创建新方法程序:
1.打开表单,单击"表单"菜单,选"新建方法程序"菜单,系统显示"新建方法程序"对话框
2.输入方法程序的名称后,单击"添加"按钮即可,如图10.方法程序代码应在"属性"窗口的"方法程序"选项卡中选择该方法程序名双击,在弹出的编辑器中输入方法程序。新建的方法程序的执行方法与系统提供的方法程序相同。
十。例一:制作表单xggz.scx,修改人员工资数据。
1.新建一个表单,右击表单空白处,将"工资情况"表添加到数据环境中
2.在"数据环境设计器"中,将"工资情况"表的各个字段,依次拖到表单上,如图11,并调整它们的位置,全部字段拖到表单上后,如图12
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
endif6.保存表单到e:myvfp,名为"xggz"
7.运行表单,
十一。例二:表单调用举例:建立一个名为diaoyong的程序文件,用程序代码调用例一中建立的xggz.scx表单
1.在命令窗口输入命令:modify command diaoyong,在弹出的代码窗口中输入如下代码:
set default to e:myvfp
do form xggz
read events2.在命令窗口如下命令执行程序:
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.scx2.向表单中添加一个文本框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文本框,观察有何不同。