Discuz!NT
欢迎 游客 , 注册 | 登录 | 会员 | 界面 | 简洁版本 | 在线 | 帮助
商都网教育宝典宝库

发表新主题 回复该主题
本主题被查看526次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第   上一主题   下一主题
标题: 在VFP程序中创建工具条
-[尕硴]
超级版主
UID: 71
来自:
精华: 130
积分: 14003
帖子: 12909
注册: 2007-10-22 17:59:00
状态: 离线
威望: 444.00
金钱: 3355.00 元
只看楼主 2007-11-01 16:04
在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.,即不允许用户关闭工具条。

  由于篇幅有限,本文没有对如何完善工具条多谈,其实,只要你掌握了工具条的设计原理,对工具条作一些完善应该不难!
#1  
发表新主题 回复该主题
本主题被查看526次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第







现在的时间是 2008-10-08 05:09:54

版权所有 商都网教育宝典
         Powered by Discuz!NT 1.0.6666    Copyright © 2001-2008 Comsenz Inc.
Processed in 0 seconds