—-笔者偶尔在《计算机世界》上读到一篇关于在VISUALFOXPRO中实现字符的淡出淡入的文章,受此启发,笔者参照原文章用VisualBasic4.0也编写了一段类似的字符的淡出淡入程序,以此说明Microsoft的可视化开发工具具有的共性:相同或相似的图形用户界面(GUI),面向对象和事件驱动的特性以及相同或相似的函数等等。这个特点使得程序开发和设计人员可以借鉴使用不同的Microsoft可视化工具开发的应用程序,并进行方便的移植,缩短开发周期。同时,这对计算机语言的学习可以起到触类旁通的作用。
—-字符的淡入淡出功能可以通过对标签(LABEL)控件的前景做不断的改变来完成。控件前景的变化,
可以在设计时用标签控件的前景属性来设置,也可以在程序中通过给前景属性赋予不同的色彩值来实现。色彩由RGB函数提供(VisualFoxpro也有该函数)。用定时器控件产生的中断不断改变RGB参数值,因此能够使得字符的前景随之改变,实现了淡出淡入的目的。
—-下面用VisualBasic4.0编写的程序完成了两个功能:(1)字符的淡出淡入,而且颜色的变化有256*256*256种,此处只选择了由灰色到红色的变化;
(2)淡出时字符由小到大,淡入时则由大到小。另外,本程序的实现过程可完全方便地向VisualC、VisualJava等可视话语言移植。
—-一.启动VisualBasic4.0,自动生成一个窗体,默认为FORM1。
—-二.将该窗体的属性设置如下:
NAME:DEMO
CAPTION:VB实现字符的淡入淡出
BACKCOLOR:&H00C0C0C0,即背景为灰色
—-三.在窗体DEMO中定义以下窗体变量,即在General-declaration过程中定义色彩参数R,G,B。
DimrAsInteger
DimgAsInteger
DinbAsInteger
—-四.在Form-load过程中设置字符色彩初值,即灰
色:
PrivateSubForm_Load()
r=192
g=192
b=192
EndSub
—-五.在窗体DEMO中加入一标签,其属性设置如下:
NAME:LABEL1
CAPTION:哈尔滨国投债券交易系统
AUTOSIZE:TRUE,用以实现字符的缩放
BACKSTYLE:0-TRANSPARENT,即透明
FONT:字体为隶书,大小选择为8
—-六.在窗体中加入定时器控件,用以完成淡出功能,设置如下:
NAME:OUTTIMER
INTERVAL:50,即隔一秒中断一次,色彩变化一次。
—-七.再加入一个定时器,完成淡入功能:
NAME:INTIMER
INTERVAL:50
—-八.在OUTTIMER的TIMER过程中加入以下代码:
PrivateSubOuttimer_Timer()
Ifr<255Then
r=r 1
Else
r=255
EndIf
Ifg>3Then
g=g-3
Else:g=0
EndIf
Ifb>3Then
b=b-3
Else:b=0
EndIf
Label1.FontSize=Label1.FontSize 0.75
Label1.ForeColor=RGB(r,g,b)
IfLabel1.FontSize>=72Then
Outtimer.Enabled=False
Intimer.Enabled=True
EndIf
EndSub
—-九.在INTIMER中加入如下代码:
PrivateSubIntimer_Timer()
Ifr>192Then
r=r-1
Else
r=192
EndIf
Ifg<192Then
g=g 3
Else:g=192
EndIf
Ifb<192Then
b=b 3
Else:b=192
EndIf
Label1.FontSize=Label1.FontSize-0.75
Label1.ForeColor=RGB(r,g,b)
IfLabel1.FontSize<=8Then
Intimer.Enabled=False
Outtimer.Enabled=True
EndIf
EndSub
—-当完成上述步骤后,按运行按扭,就可看到在窗体内“哈尔滨国投证券交易系统”几个字由小到大、有浅入深地显示出来;当字体达到规定的大小时,又渐渐地消失在窗体之中,实现淡出淡入的功能。
->