用Visual Foxpro 3.0制作流水灯

Author: 阎东 Date: 1997-01-01

  都市的夜晚,各式各样的霓虹灯是最美的景色之一。如果在我们制作的多媒体软件的界面中加入一串闪闪发光的彩灯会是一种什么样的效果呢?于是笔者就着手编制了一个频率可调的三路流水灯程序,步骤如下:
#2  一、建立一个新表单。
  进入Visual Foxpro 3.0系统环境,在命令行窗口中键入Create Form或在“文件”菜单中选择“新建”、“表单”,即可建立一个新表单(FORM1),并设置FORM1的Backcolor属性为RGB(192,192,192)。
#2  二、建立第一个彩灯。
  用鼠标点击“表单控制栏”中的“标签”,并在FORM1上拉出一个矩形方框(LABEL1)。设置它的属性Caption为“★”(也可为其它字符,这里的“★”可在Windows 95的“附件”的“字符映射表”中找到),Autosize为.T.,Backstyle为0,Forecolor为RGB(255,0,0),Fontsize为20。
#2  三、建立其它29个彩灯。
  用鼠标点击LABEL1,按Ctrl+C(拷贝)键,再按Ctrl+V(粘贴)键,在FORM1上创建另一个标题与LABEL1相同的标签(LABEL2),设置它的Forecolor属性为RGB(0,255,0)。如此反复进行拷贝,共建立30个标签,将这30个标签按顺序排成一个矩形方框。再将LABEL2、LABEL5、LABEL8、LABEL11、LABEL14、LABEL17、LABEL20、LABEL23、LABEL26、LABEL29的Forecolor属性设置为RGB(0,255,0);LABEL3、LABEL6、LABEL9、LABEL12、LABEL15、LABEL18、LABEL21、LABEL24、LABEL27、LABEL30的Forecolor属性设置为RGB(0,0,255)。
#2  四、建立计时器。
  用鼠标点击“表单控制栏”中的“计时器”,再在FORM1上点击一下,即可在FORM1上创建一个计时器(TIMER1)。设置它的属性Interval为400。
#2  五、建立速度控制器。
  用鼠标点击“表单控制栏”中的“微调控制”,再在FORM1上拉出一个方框,即可在FORM1上创建一个微调控制器(SPINNER1)。设置它的属性Fontbold为.T.,Fontsize为11,Increment为100,Inputmask为9999,Keyboardhighvalue为1000,Keyboardlowvalue为0,Spinnerhighvalue为1000,Spinnerlowvalue为0,Value为600。
#2  六、建立速度控制器标题。
  用鼠标点击“表单控制栏”中的“标签”,并在FORM1上拉出一个矩形方框(LABEL1)。设置它的属性Caption为“循环速度:”,Autosize为.T.,Backstyle为0,Fontbold为.T.,Fontsize为11。
#2  七、双击FORM1,编写FORM1的ACTIVATE过程。
  步骤如下:
  Public I
  I=0
#2  八、双击TIMER1,编写TIMER1的TIMER过程。
  步骤如下:
  If I=30
     I=0
  Endif
  I=I+1
  For J=1 To 30
       Ln="Label"+IIF(J<10,Str(J,1),Str(J,2)+".Visible"
       Thisform.&Ln=.F.
  EndFor
  If MOD(I,3)=2
     For J=1 To 10
          Ln="label"+IIF(3*j-1<10,Str(3*j-1,1),Str(3*j-1,2))+".Visible"
   Thisform.&Ln=.T.
     Endfor    
  Else
     If MOD(I,3)=0
         For J=1 To 10
       Ln="label"+IIF(3*j<10,str(3*j,1),Str(3*j,2))+".Visible"
        Thisform.&Ln=.T.
  EndFor
  Else
  For J=1 To 10
      Ln="label"+IIF(3*j-2<10,Str(3*j-2,1),Str(3*j-2,2))+"Visible"
      Thisform.&Ln=.T.
  EndFor
  Endif
  Endif
#2  九、双击SPINNER1,编写SPINNER1的INTERACTIVECHANGE过程。步骤如下:
  If Thisform.Spinner1.Value=1000
     Thisform.Timer1.Interval=1
  Else
   Thisform.Timer1.Interval=1000- Thisform.Spinner1.Value
  Endif
  运行表单后可见到红、绿、蓝三种颜色的彩灯交替点亮,调整SPINNER1的大小可以改变三组彩灯的循环速度。
  以上程序在Visual Foxpro 3.0及Windows 95中运行通过。