看实例学VFP:模拟VB控件数组操作标签控件2009-04-02 www.bianceng.cn 老马VB中有控件数组,使用它可以批量设置控件的属性,这个东西最直接的作用就是可以简化代码。今天我们在vfp中模拟VB控件数组,操作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,nlocal fs,fb,fcn=1top=thisform.label1.topfor i=1 to 5t="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属性值设为12thisform.&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-50thisform.&t=topn=n+1if n=6 n=1 this.enabled=.f. messagebox("字符已经全部显示完毕!") returnendifendif
六、运行“表单1.scx”。本例代码在Win2003+VFP6.0环境下调试通过。