VisualBasic中字符淡出淡入的实现
----字符的淡入淡出功能可以通过对标签(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
  
  ----当完成上述步骤后,按运行按扭,就可看到在窗体内“哈尔滨国投证券交易系统”几个字由小到大、有浅入深地显示出来;当字体达到规定的大小时,又渐渐地消失在窗体之中,实现淡出淡入的功能。




