VB中有控件数组,使用它可以批量设置控件的属性,这个东西最直接的作用就是可以简化代码,
VFP:模拟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,nlocal fs,fb,fcn=1top=thisform.label1.topfor 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 endifendif六、运行“表单1.scx”,
电脑资料
《VFP:模拟VB控件数组操作标签控件》(https://www.unjs.com)。本例代码在Win2003+VFP6.0环境下调试通过。