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”。
本例代碼在Win2003+VFP6.0環境下調試通過。
查看全套“菜鳥也學VFP”教程