📄 vfp设计跑马灯.txt
字号:
Visual FoxPro 5.0中为标题增加跑马灯背景
如今的世界,广告随处可见,到了夜晚满天都是霓虹灯制作的各式广告牌,其中最引人注目的要算那些带有跑马灯背景的广告牌,它们时而突亮、时而突灭、时而逐个点亮、时而逐个熄灭…… 能否在我们的屏幕中制作出这样的广告牌呢?按下面的步骤,可以为标题加上有四种不同效果的跑马灯背景,想知道效果如何吗,还是赶快动手去做吧!
建立一个新的表单。进入Visual FoxPro 5.0系统环境,建立一个新的表单(FORM1),并设置FORM1的Backcolor(背景色)属性为RGB(0,0,0)-黑色,Caption(标题)为“跑马灯”。
制作跑马灯背景。利用10个排成一排的竖条状的形状(SHAPE1-SHAPE10)作为跑马灯背景。鼠标点击“表单控制栏”中的“形状”,并在FORM1上拉出一个矩形方框(SHAPE1)。设置它的BackColor属性为RGB(0,0,0),BorderStyle(边框样式)属性为0-透明,大小可自定。按同样方法作出另外9个,并将它们按顺序排成一排。再制作一个SHAPE(SHAPE11)作为前十个SHAPE的边框,设置它的BackStyle属性为0-透明,SpecialEffect(样式)为0-3D。如下图示:
建立广告牌。鼠标点击“表单控制栏”中的“标签”,并在FORM1上拉出一个矩形方框(LABEL1)。设置它的属性Caption为“效果演示”,Autosize(自动调整大小)为.T.,Backstyle(背景状态)为0-透明,FontBold(字体粗细)为.T.,FontName(字体名称)为“隶书”,Forecolor(字体颜色)为RGB(255,0,255),Fontsize(字体大小)为36。将广告牌放在跑马灯背景的上面。
建立四个按钮。鼠标点击“表单控制栏”中的“按钮”,并在FORM1上点一下,即可制作出一个按钮(COMMAND1),重复这一动作作出四个按钮。分别设置它们的Caption属性为“效果一”、“效果二”、 "效果三”和 "效果四”。
建立四个定时器。鼠标点击“表单控制栏”中的“定时器”,并在FORM1上点一下,即可制作出一个定时器(TIMER1),重复这一动作作出四个定时器。设置它们的Interval(定时间隔)属性为100ms,Enabled(是否可用)属性为.F.。
编写过程。首先为FORM1增加两个新的过程:ALL_ON和ALL_OFF,可通过在表单设计期间选择系统菜单“表单”中的“新方法”来建立。本程序中所有的过程如下:
FORM1的ALL_ON过程:(全亮)
For I = 1 to 10
Col = "Shape"+Alltrim(Str(I))+".BackColor"
Thisform.&Col = RGB(255,255,0)
EndFor
FORM1的ALL_OFF过程:(全灭)
For I = 1 to 10
Col = "Shape"+Alltrim(Str(I))+".BackColor"
Thisform.&Col = RGB(0,0,0)
EndFor
FORM1的LOAD过程:
Public Time1,Time2
COMMAND1的CLICK过程:(效果一:轮流点亮)
Time1 = 1
Thisform.ALL_OFF
Thisform.Timer1.Enabled = .T.
Thisform.Timer2.Enabled = .F.
Thisform.Timer3.Enabled = .F.
Thisform.Timer4.Enabled = .F.
COMMAND2的CLICK过程:(效果二:按递减顺序轮流点亮,每轮保持最后一个点亮,直到全部点亮)
Time1 = 1
Thisform.ALL_OFF
Thisform.Timer1.Enabled = .F.
Thisform.Timer2.Enabled = .T.
Thisform.Timer3.Enabled = .F.
Thisform.Timer4.Enabled = .F.
COMMAND3的CLICK过程:(效果三:按递减顺序轮流熄灭,每轮保持最后一个亮着的灯熄灭,直到全部熄灭)
Time1 = 10
Time2 = 1
Thisform.ALL_ON
Thisform.Timer1.Enabled = .F.
Thisform.Timer2.Enabled = .F.
Thisform.Timer3.Enabled = .T.
Thisform.Timer4.Enabled = .F.
COMMAND4的CLICK过程:(效果四:奇数号灯和偶数号灯轮流点亮)
Time1 = 10
Thisform.ALL_OFF
Thisform.Timer1.Enabled = .F.
Thisform.Timer2.Enabled = .F.
Thisform.Timer3.Enabled = .T.
Thisform.Timer4.Enabled = .F.
TIMER1的TIMER过程:
Thisform.ALL_OFF
Col = "Shape"+Alltrim(Str(Time1))+".BackColor"
Thisform.&Col = RGB(255,255,0)
Time1 = Time1 + 1
If Time1 > 10
Time1 = 1
EndIf
TIMER2的TIMER过程:
If Thisform.Shape1.Backcolor = RGB(255,255,0) and
Thisform.Shape2.Backcolor = RGB(255,255,0)
Time = 1
Thisform.all_off
Return
Endif
Col = "Shape"+Alltrim(Str(Time1))+".Backcolor"
Thisform.&Col = RGB(255,255,0)
If Time1 = 1
Time1 = Time1 + 1
Return
Else
Col = "Shape"+Alltrim(Str(Time1-1))+".Backcolor"
Thisform.&Col = RGB(0,0,0)
Endif
If Time1 = 10
Thisform.Shape10.Backcolor = RGB(255,255,0)
Time1 = 1
Return
Else
Col = "Shape"+Alltrim(Str(Time1+1))+".Backcolor"
If Thisform.&Col = RGB(255,255,0)
Time1 = 1
Return
Endif
Endif
Time1 = Time1 + 1
TIMER3的TIMER过程:
If Time1 = 0
Thisform.all_on
Time1 = 10
Time2 = 1
Return
Endif
Col = "Shape"+Alltrim(Str( Time1))+".Backcolor"
Thisform.&Col = RGB(0,0,0)
If Time2 = 0
Thisform.Shape10.Backcolor = RGB(0,0,0)
Time1 = Time1 - 1
Time2 = 10 - Time1
Return
Else
If Time2 # 10 - Time1
Col = "Shape"+Alltrim(Str(10 - Time2))+".Backcolor"
Thisform.&Col = RGB(0,0,0)
Endif
Col = "Shape"+Alltrim(Str(11 - Time2))+".Backcolor"
Thisform.&Col = RGB(255,255,0)
Time2 = Time2 - 1
Endif
TIMER4的TIMER过程:
Thisform.all_off
If Time1 < 1
Time1 = 10
Endif
If MOD(Time1,2) = 0
Thisform.Shape1.Backcolor = RGB(255,255,0)
Thisform.Shape3.Backcolor = RGB(255,255,0)
Thisform.Shape5.Backcolor = RGB(255,255,0)
Thisform.Shape7.Backcolor = RGB(255,255,0)
Thisform.Shape9.Backcolor = RGB(255,255,0)
Else
Thisform.Shape2.Backcolor = RGB(255,255,0)
Thisform.Shape4.Backcolor = RGB(255,255,0)
Thisform.Shape6.Backcolor = RGB(255,255,0)
Thisform.Shape8.Backcolor = RGB(255,255,0)
Thisform.Shape10.Backcolor = RGB(255,255,0)
Endif
Time1 = Time1 - 1
以上程序在WINDOWS 95和Visual FoxPro 5.0中运行通过。
返回
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -