惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
博客园_首页
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
酷 壳 – CoolShell
酷 壳 – CoolShell
Y
Y Combinator Blog
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
G
Google Developers Blog
Last Week in AI
Last Week in AI

博客园 - TangHuawei

設置RichTextBox行距 - TangHuawei - 博客园 新的一年又开始了 C#.NET windows控件实现水印 C#纯数学方法递归实现货币数字转换中文 移动没有标题栏的窗口 - TangHuawei - 博客园 让程序更智能-自动选择功能的实现 - TangHuawei - 博客园 让复选框生动起来 用VB实现局域网屏幕监视 用VB“破解”有时间限制的程序 用VB5 Winsock控件创建TCPIP客户机 服务器程序 用VB产生随机密码 用vb开发通信软件 用VB设计基于代理服务器的网络计费系统 用VB设计能适应各种显示属性的界面 用VB设计软件封面 用VB实现彩蝶飞舞 游动的窗体 有历史记录功能的菜单 远程共享显示及声音的实现
如何在VB6中实现文字“打屏”及霓虹灯效果 - TangHuawei - 博客园
TangHuawei · 2007-01-12 · via 博客园 - TangHuawei

在看电影或电视时我们有时会看到有些片名一个一个的字由大到小打印到屏幕上(或是片名整齐的由大到小打印到屏幕上),俗语称"打屏"。并且有时文字颜色会不断变化,出现霓虹灯效果,闪烁亮晶晶,煞是好看。

如果你是用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

  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

  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键运行,哇!......大功告成!