----筆者偶爾在《電腦世界》上讀到一篇關於在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
----當完成上述步驟後,按運行按扭,就可看到在窗體內「哈爾濱國投證券交易系統」幾個字由小到大、有淺入深地顯示出來;當字體達到規定的大小時,又漸漸地消失在窗體之中,實現淡出淡入的功能。
->