龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

在VisualBasic中实现启动程序时的闪烁屏幕

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
----在大量的应用软件中,软件启动后一幅画面有几秒的信息显示,列出产品、平台、版本号和版权信息,称之为“启动程序时的闪烁屏幕”。在VisualBasic中是如何实现的呢?本文讨论生
----在大量的应用软件中,软件启动后一幅画面有几秒的信息显示,列出产品、平台、版本号和版权信息,称之为“启动程序时的闪烁屏幕”。在VisualBasic中是如何实现的呢?本文讨论生成启动屏幕的一种方法,并使之多彩化。做到启动屏幕在桌面停留时,提示文字在桌面上“流动”(如《东方快车》启动画面)。同时也可以实现流动文字的闪烁、变色等效果。如果在文字底部设置画面,文字可以从画面上流动。待显示完毕从画面顶部消失后,可重新从画面底部冉冉升起,循环出现。这样设计后,可用在软件说明及著作者列表等等,以丰富的软件的画面显示效果。
  
  ----取工程1,窗体Form1、Form2,设Form1为启动窗体。在Form2上新建Frame1、Timer1和Temer2,Frame1的Caption属性设置成空值,以形成美观的立体边框。Timer1和Temer2的Enabled的属性设为True。在Frame1上创建Picture1,调整Picture1为合适大小。将Form1的ScaleMode属性设为1-Twip,Form2的StartUpPosition属性设为2-CenterScreen(中心对齐)。为了保证窗体Form2不显示窗体最上面的“蓝色说明条”,将Caption属性设为空值,ControlBox属性设为False即可。在Picture1上创建标签Label1,调整BackStyle为0(透明)。在Label1的Caption属性填写“作者:沈阳姜雪小姐”一段文字,以便观察。调整文字的大小、颜色。在窗体Form2上可随意设置版面信息。
  
  ----Form1代码如下:
  
  PrivateSubForm_Load()
  Form1.Visible=0'使窗体Form1不可见
  Form2.Show'显示窗体Form2
  EndSub
  
  Form2各控件代码如下:
  OptionExplicit
  DimStep1,Step2,Step3AsInteger
  DimZfAsString
  DimIAsInteger
  
  PrivateSubForm_Click()
  '单击窗体Form2时,结束窗体Form2的执行,
  显示窗体Form1,关闭Timer、Timer1。
  UnloadMe
  Form1.Show
  Timer1.Enabled=False
  Timer2.Enabled=False
  EndSub
  
  PrivateSubForm_Load()
  Picture1.Picture=LoadPicture
  ("c:windowsClouds.bmp")'任意选择一图片
  Timer1.Interval=80'时间步长
  Timer2.Interval=50
  EndSub
  
  PrivateSub
  Frame1_Click()'单击控件Frame1内区域时,
  结束窗体Form2的执行,显示窗体Form1,关闭Timer、Timer1。
  UnloadMe
  Form1.Show
  Timer1.Enabled=False
  Timer2.Enabled=False
  EndSub
  
  PrivateSub
  Picture1_Click()
  '单击图片Picture1内区域时,结束窗体Form2的执行,
  显示窗体Form1,关闭Timer、Timer1。
  UnloadMe
  Form1.Show
  Timer1.Enabled=False
  Timer2.Enabled=False
  EndSub
  
  PrivateSubTimer1_Timer()
  ColorLabel1,15,13,9'调用变换的颜色
  I=I 1
  IfI>50Then'窗体Form2停留时间,可以调整大小
  UnloadMe
  Form1.Show
  Timer1.Enabled=False
  Timer2.Enabled=False
  EndIf
  EndSub
  SubColor(CtrlAsControl,color1AsInteger,
  color2AsInteger,color3AsInteger)'选取颜色
  IfVal(Ctrl.Tag)=color1Then
  Ctrl.Tag=color2
  ElseIfVal(Ctrl.Tag)=color2Then
  Ctrl.Tag=color3
  ElseIfVal(Ctrl.Tag)=color3Then
  Ctrl.Tag=color1
  Else
  Ctrl.Tag=color1
  EndIf
  Ctrl.ForeColor=QBColor(Ctrl.Tag)
  EndSub
  
  PrivateSubTimer2_Timer()'控制文字移动位置及速度
  Step1=1800:Step2=4500:Step3=40
  IfLabel1.Top<-Step1-Label1.TopThen
  Label1.Top=Label1.Top Step2
  EndIf
  Label1.Top=Label1.Top-Step3
  EndSub
  
  ----可以调整Timer1.Interval、Timer2.Interval值的大小,它们分别决定文字颜色变换速度及文字流动速度;根据窗体和控件情况调整Step1、Step2为合适值;Step3为文字跳跃步长;通过改变ColorLabel1,I,J,K语句中的I,J,K值来改变文字的变换颜色。在中文VisualBasic5.0下实现。->

精彩图集

赞助商链接