Database 版 (精华区)
发信人: mengy (LEAR DLLS 命令时,将从内存中清除), 信区: Database
标 题: Visual FoxPro 5.0中为标题增加跑马灯背景
发信站: 哈工大紫丁香 (2000年12月13日09:14:37 星期三), 站内信件
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中运行通过。
返回
--
大海无边天做岸
山登绝顶我为风
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.373毫秒