如何在VB6中实现文字“打屏”及霓虹灯效果
在看电影或电视时我们有时会看到有些片名一个一个的字由大到小打印到屏幕上(或是片名整齐的由大到小打印到屏幕上),俗语称"打屏"。并且有时文字颜色会不断变化,出现霓虹灯效果,闪烁亮晶晶,煞是好看。
如果你是用VB6来开发软件的话,假如能把它应用到你的软件封面中,让软件的名字唰唰唰照打在屏幕上,那种感觉是不是有点......像炎热的夏天喝了一杯冰水呢。那么在VB6中如何实现这种效果呢? OK!赶快拔出你的屠龙刀VB6,LET GO!跟我来吧!(怎么觉得有点牛刀杀小鸡的味道^_^)
首先启动VB6,新建一个标准EXE工程,添加两个TIMER控件到窗体上,设TIMER1的Interval属性为1(用于启动文字打屏),TIMER2的Enabled属性为False、Interval属性为319(用于文字颜色闪烁速度);再添加五个LABEL控件LABEL1、LABEL2、LABEL3、LABEL4、LABEL5到窗体上,然后按着Ctrl键将它们五个选中,设它们的BackStyle属性为0-Transparent、Font属性为隶书72号字型(当然也可选其他字体)、ForeColor属性等于&H000080FF&(字体颜色为深黄色)、Visible属性为False(让它们都不可见),再将五个LABEL控件按顺序分别排列在窗体的中间位置。排在什么位置都行,只要整齐就行,但注意不能将五个LABEL控件重叠在一起。再保存工程。
接下来在Form_Load()事件中加入代码:
Dim t As Long '定义变量
Me.BackColor = &H80000012 '初始化窗体颜色为黑色
Me.WindowState = 2 '初始化窗体为全屏运行
'初始化打屏文字
Label1.Caption = "文"
Label2.Caption = "字"
Label3.Caption = "演"
Label4.Caption = "示"
Label5.Caption = "!"
在Timer1_Timer()事件中加入以下代码:
打屏效果控制
定义文字的字体大小
Label8.FontSize = 960
Label9.FontSize = 960
Label10.FontSize = 960
Label11.FontSize = 960
Label12.FontSize = 960
通过循环语句制造文字由大到小的效果,当文字大小小于或等于72时停止循环
Label8.Visible = True
For t = 1 To 120
Label8.FontSize = Label8.FontSize - 8
If Label8.FontSize < = 72 Then
Label8.FontSize = 72
Label9.Visible = True
Exit For
End If
Next t
For t = 1 To 120
Label9.FontSize = Label9.FontSize - 8
If Label9.FontSize < = 72 Then
Label9.FontSize = 72
Label10.Visible = True
Exit For
End If
Next t
Next t
再在Timer2_Timer() 事件中加入字体霓虹灯效果的代码:
霓虹灯效果设置
Dim x As Integer, y As Integer, z As Integer '定义变量
设置字体颜色的随机效果
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label8.ForeColor = RGB(x, y, z)
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label9.ForeColor = RGB(x, y, z)
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label10.ForeColor = RGB(x, y, z)
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label11.ForeColor = RGB(x, y, z)
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label12.ForeColor = RGB(x, y, z)
最后不要忘了在Form_Click()事件中加入"Unload Me"的语句,以释放资源。好了!睁大你长时间用眼睛亲吻电脑显示屏而血红的双眼,伸出由于长期抚摸键盘而进化得象香蕉的手指按F5键运行,哇!......大功告成!
首先启动VB6,新建一个标准EXE工程,添加两个TIMER控件到窗体上,设TIMER1的Interval属性为1(用于启动文字打屏),TIMER2的Enabled属性为False、Interval属性为319(用于文字颜色闪烁速度);再添加五个LABEL控件LABEL1、LABEL2、LABEL3、LABEL4、LABEL5到窗体上,然后按着Ctrl键将它们五个选中,设它们的BackStyle属性为0-Transparent、Font属性为隶书72号字型(当然也可选其他字体)、ForeColor属性等于&H000080FF&(字体颜色为深黄色)、Visible属性为False(让它们都不可见),再将五个LABEL控件按顺序分别排列在窗体的中间位置。排在什么位置都行,只要整齐就行,但注意不能将五个LABEL控件重叠在一起。再保存工程。
接下来在Form_Load()事件中加入代码:
Dim t As Long '定义变量
Me.BackColor = &H80000012 '初始化窗体颜色为黑色
Me.WindowState = 2 '初始化窗体为全屏运行
'初始化打屏文字
Label1.Caption = "文"
Label2.Caption = "字"
Label3.Caption = "演"
Label4.Caption = "示"
Label5.Caption = "!"
在Timer1_Timer()事件中加入以下代码:
打屏效果控制
定义文字的字体大小
Label8.FontSize = 960
Label9.FontSize = 960
Label10.FontSize = 960
Label11.FontSize = 960
Label12.FontSize = 960
通过循环语句制造文字由大到小的效果,当文字大小小于或等于72时停止循环
Label8.Visible = True
For t = 1 To 120
Label8.FontSize = Label8.FontSize - 8
If Label8.FontSize < = 72 Then
Label9.Visible = True
Exit For
End If
Next t
For t = 1 To 120
Label9.FontSize = Label9.FontSize - 8
If Label9.FontSize < = 72 Then
Label9.FontSize = 72
Label10.Visible = True
Exit For
End If
Next t
For t = 1 To 120
Label10.FontSize = Label10.FontSize - 8
If Label10.FontSize < = 72 Then
Label10.FontSize = 72
Label11.Visible = True
Exit For
End If
Next t
For t = 1 To 120
Label11.FontSize = Label11.FontSize - 8
If Label11.FontSize < = 72 Then
Label11.FontSize = 72
Label12.Visible = True
Exit For
End If
Next t
For t = 1 To 120
Label12.FontSize = Label12.FontSize - 8
If Label12.FontSize < = 72 Then
Label12.FontSize = 72
Timer1.Enabled = False
Timer2.Enabled = True
Exit For
End If
再在Timer2_Timer() 事件中加入字体霓虹灯效果的代码:
霓虹灯效果设置
Dim x As Integer, y As Integer, z As Integer '定义变量
设置字体颜色的随机效果
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label8.ForeColor = RGB(x, y, z)
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label9.ForeColor = RGB(x, y, z)
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label10.ForeColor = RGB(x, y, z)
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label11.ForeColor = RGB(x, y, z)
x = Int(Rnd * (255))
y = Int(Rnd * (255))
z = Int(Rnd * (255))
Label12.ForeColor = RGB(x, y, z)
最后不要忘了在Form_Click()事件中加入"Unload Me"的语句,以释放资源。好了!睁大你长时间用眼睛亲吻电脑显示屏而血红的双眼,伸出由于长期抚摸键盘而进化得象香蕉的手指按F5键运行,哇!......大功告成!