当前位置: 首页 > 编程语言 > vfp > 正文

看实例学VFP:模拟VB控件数组操作标签控件

时间:2009-04-02 www.bianceng.cn 老马

VB中有控件数组,使用它可以批量设置控件的属性,这个东西最直接的作用就是可以简化代码。今天我们在vfp中模拟VB控件数组,操作vfp中最基本的控件之一:标签控件(label)。在vfp基础教程-标签控件(label)一文中对该控件的属性及用途等已经有比较详尽地描述,关于它实在是没有什么好说的了。

本文设计的这个例子是这样的:在表单激活时(Activate事件),采用类似vb控件数组的处理方式在循环语句中为各个标签设置属性,如下图1;在命令按钮的click事件中,通过单击将5个标签的caption属性值依次显示出来,如下图2;

图1

图2

制作步骤如下:

一、新建表单,将其AutoCenter属性值设置为.t.,保存为“表单1.scx”。

二、向表单上添加5个标签控件label1~label5,将它们的caption属性值依次设置为“编”、“程”、“入”、“门”、“网”。

三、向表单上添加一个命令按钮command1,将其caption属性值设置为“显示字符”。

四、适当调整各控件的位置,如下图:

五、添加事件代码:

1、表单的Activate事件代码:

public top,n
local fs,fb,fc
n=1
top=thisform.label1.top
for i=1 to 5
    t="label"+str(i,1)+".top"
    fs="label"+str(i,1)+".fontsize"
    fb="label"+str(i,1)+".fontbold"
    fc="label"+str(i,1)+".forecolor"
    thisform.&t=-50 &&依次把5个标签的top属性值设为-50,实际是把它们隐藏起来
    thisform.&fs=12 &&依次把5个标签的fontsize属性值设为12
    thisform.&fb=.t. &&依次把5个标签的fontbold属性值设为.t.
    thisform.&fc=rgb(255,0,0) &&依次把5个标签的forecolor属性值设为rgb(255,0,0)
endfor

2、命令按钮command1的click事件代码:

t="label"+str(n,1)+".top"
if thisform.&t<=top-50
  thisform.&t=top
  n=n+1
  if n=6
     n=1
     this.enabled=.f.
     messagebox("字符已经全部显示完毕!")
     return
  endif
endif

六、运行“表单1.scx”。

本例代码在Win2003+VFP6.0环境下调试通过。

查看全套“菜鸟也学VFP”教程