在VFP程序中创建工具条
【打印文章】
四川 周鸣扬
大家对工具条(TOOLBAR)肯定不会陌生,利用工具条,可以使我们的操作更加方便。如图所示的程序中便使用了工具条,我们可以在程序运行时将工具条放置在任意地方,并且可以调整工具条的大小、改变按钮的排列方式(横向、纵向)。那么,在VFP中怎样才能创建工具条呢?在VFP的表单设计环境中并没有工具条控件,要使用工具条,你得自力更生!
首先得新建一工具条类(CLASS):在新建文件的文件类型中选择CLASS,之后输入你新建的类名、存储该类信息的文件名(本例中为mytoolbar.vcx),最重要的是你应选择“TOOLBAR”作为该类的基类。然后便进入类设计器环境,同表单设计环境一样,你可以在工具条中加入各种常用控件。本文主要是利用工具条来实现移动数据表的指针,所以只在工具条中加入了四个按钮:head、previous、next、end。它们的标题分别为“文件头”、“上一条”、“下一条”、“文件尾”。当然,你如果想要你的工具条看起来更加漂亮,还可以把按钮设计成图案式。然后我们在类设计器中为每个按钮编写出相应的代码。
1.Head按钮的CLICK事件代码:
GO TOP
*移动数据表的指针时,你必须考虑到更新表单(集)上的内容
*按钮的“父亲”工具条本身,工具条的“父亲”便是引用工具条的表单集了。
THIS.PARENT.PARENT.REFRESH
2.Previous按钮的CLICK事件代码:
IF BOF()
WAIT WIND ″已到第一条记录!″
RETURN
ELSE
SKIP -1
ENDI
THIS.PARENT.PARENT.REFRESH
3.Next按钮的CLICK事件代码:
IF EOF()
WAIT WIND ″已到最未一条记录!″
RETURN
ELSE
SKIP
ENDI
THIS.PARENT.PARENT.REFRESH
4.End按钮的CLICK事件代码:
GO BOTTOM
THIS.PARENT.PARENT.REFRESH
经过上面的过程后,我们的工具条便做好了。接下来在VFP中新建一表单form1,在数据环境中加入一数据表txl.dbf(有三个字段:姓名、地址、电话),将数据环境中的字段拖入表单,这样便能够查看数据表了。在表单控件工具栏中选择“添加”控件,系统会询问你可视类库的文件名(本文指mytoolbar.vcx)。之后,表单控件工具栏的布局会发生变化,你能够看到刚才你设计的工具条控件出现在上面。现在你可以将工具条控件拖入表单了。在往表单中加入工具条之前,我们首先应该知道,其实工具条的本质是一表单(form),所以,在往form1中添加工具条控件时,系统会询问你是否新增一表单集(formset),选择“是”,你的程序就算完工了。试试吧,你会觉得一切都来得太容易。事实上,在类设计器中为每个控件所写的代码为你省去了好多功夫,并且你可以在任何表单中使用该工具条控件。由此你可以感受到“类”的优点了。
另外需要注意的是,在表单中加入工具条往往是和菜单内容相对应的,一个表单在一般情况下不可能仅仅有一个工具条,就拿本文所举的例子来说,如果用户将工具条给关闭了,那么用户要想继续查看数据表,那就只得望表兴叹了。如果只想用工具条而不使用菜单选项,你就得将工具条的ControlBox属性设为.F.,即不允许用户关闭工具条。
由于篇幅有限,本文没有对如何完善工具条多谈,其实,只要你掌握了工具条的设计原理,对工具条作一些完善应该不难!
大家对工具条(TOOLBAR)肯定不会陌生,利用工具条,可以使我们的操作更加方便。如图所示的程序中便使用了工具条,我们可以在程序运行时将工具条放置在任意地方,并且可以调整工具条的大小、改变按钮的排列方式(横向、纵向)。那么,在VFP中怎样才能创建工具条呢?在VFP的表单设计环境中并没有工具条控件,要使用工具条,你得自力更生!
首先得新建一工具条类(CLASS):在新建文件的文件类型中选择CLASS,之后输入你新建的类名、存储该类信息的文件名(本例中为mytoolbar.vcx),最重要的是你应选择“TOOLBAR”作为该类的基类。然后便进入类设计器环境,同表单设计环境一样,你可以在工具条中加入各种常用控件。本文主要是利用工具条来实现移动数据表的指针,所以只在工具条中加入了四个按钮:head、previous、next、end。它们的标题分别为“文件头”、“上一条”、“下一条”、“文件尾”。当然,你如果想要你的工具条看起来更加漂亮,还可以把按钮设计成图案式。然后我们在类设计器中为每个按钮编写出相应的代码。
1.Head按钮的CLICK事件代码:
GO TOP
*移动数据表的指针时,你必须考虑到更新表单(集)上的内容
*按钮的“父亲”工具条本身,工具条的“父亲”便是引用工具条的表单集了。
THIS.PARENT.PARENT.REFRESH
2.Previous按钮的CLICK事件代码:
IF BOF()
WAIT WIND ″已到第一条记录!″
RETURN
ELSE
SKIP -1
ENDI
THIS.PARENT.PARENT.REFRESH
3.Next按钮的CLICK事件代码:
IF EOF()
WAIT WIND ″已到最未一条记录!″
RETURN
ELSE
SKIP
ENDI
THIS.PARENT.PARENT.REFRESH
4.End按钮的CLICK事件代码:
GO BOTTOM
THIS.PARENT.PARENT.REFRESH
经过上面的过程后,我们的工具条便做好了。接下来在VFP中新建一表单form1,在数据环境中加入一数据表txl.dbf(有三个字段:姓名、地址、电话),将数据环境中的字段拖入表单,这样便能够查看数据表了。在表单控件工具栏中选择“添加”控件,系统会询问你可视类库的文件名(本文指mytoolbar.vcx)。之后,表单控件工具栏的布局会发生变化,你能够看到刚才你设计的工具条控件出现在上面。现在你可以将工具条控件拖入表单了。在往表单中加入工具条之前,我们首先应该知道,其实工具条的本质是一表单(form),所以,在往form1中添加工具条控件时,系统会询问你是否新增一表单集(formset),选择“是”,你的程序就算完工了。试试吧,你会觉得一切都来得太容易。事实上,在类设计器中为每个控件所写的代码为你省去了好多功夫,并且你可以在任何表单中使用该工具条控件。由此你可以感受到“类”的优点了。
另外需要注意的是,在表单中加入工具条往往是和菜单内容相对应的,一个表单在一般情况下不可能仅仅有一个工具条,就拿本文所举的例子来说,如果用户将工具条给关闭了,那么用户要想继续查看数据表,那就只得望表兴叹了。如果只想用工具条而不使用菜单选项,你就得将工具条的ControlBox属性设为.F.,即不允许用户关闭工具条。
由于篇幅有限,本文没有对如何完善工具条多谈,其实,只要你掌握了工具条的设计原理,对工具条作一些完善应该不难!
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】