用VB实现电影字幕效果
?牐犙怨檎蚩愕腣B,新建一个标准EXE工程,然后依次添加以下控件。
?牐牎粼诖疤錐orm1上添加一个PictureBox(图片框)控件Picture1,作为字幕效果表演的“场地”。
?牐牎粼谕计騊icture1上添加一个Label(文字标签)控件Label1,用于显示字幕文本。
?牐牎粼诖疤錐orm1上添加两个Shape(图形)控件Shape1和Shape2,并将Shape2放于显著位置。
?牐牎粼诖疤錐orm1上添加一个CommandButton(按钮)控件Command1。
?牐牎粼诖疤錐orm1上添加一个Timer(定时器)控件,用于实现字幕的滚动。
?牐牶茫疤蹇丶砑油瓿桑芗虻グ伞=酉吕慈梦颐怯貌说ァ笆油?/代码窗口”打开这个工程的代码窗口,输入下面的源代码:
?牐燨ption Explicit
?牐燚im Step As Integer '定义字幕滚动的速度,建议取值范围为15~300
?牐燩rivate Sub Command1_Click()
?牐燙ommand1.Enabled = False '暂时禁止按下按钮
?牐燣abel1.Top = Picture1.Height '将字幕先隐藏起来
?牐燭imer1.Enabled = True '开启定时器
?牐燛nd Sub
?牐燩rivate Sub Form_Load?煟?
?牐燬tep = 30 '*****只有这一行代码的赋值需要更改,也允许更改******
?牐燫em 常量初始化
?牐燣abel1.AutoSize = True
?牐燣abel1.Left = 0
?牐燣abel1.Top = Picture1.Height '本行代码如果不要,程序一启动即显示字幕文本
?牐燣abel1.Caption = “用VB实现的电影字幕效果演示” + Chr(13)
?牐燣abel1.Caption = Label1.Caption + “1 - 第一行文字” + Chr(13)
?牐牎?
?牐牐ū嘧ⅲ河捎诖胫馗矗瞬晃尬秸加每占洌虼耸÷缘袅耍琳吲笥衙墙禄卟糠忠来渭?1即可。)
?牐燣abel1.Caption = Label1.Caption + “15 - 最后一行文字了。”
?牐燬hape1.BorderColor = &H80000002 '定义进度条的颜色,这里为蓝色
?牐燬hape1.FillColor = Shape1.BorderColor
?牐燬hape1.FillStyle = 0 '0 - Solid 实心矩形
?牐燬hape1.Height = Shape2.Height - 2
?牐燬hape1.Left = Shape2.Left
?牐燬hape1.Top = Shape2.Top + 1
?牐燬hape1.Width = 1
?牐營f Step < 0 Then '步长Step不能为负数!
?牐燬tep = -Step
?牐燛nd If
?牐營f Step = 0 Then '步长Step也不能为0!
?牐燬tep = 30
?牐燛nd If
?牐燭imer1.Interval = Step '定时器时间间隔
?牐燭imer1.Enabled = False '禁止定时器
?牐燙ommand1.Caption = “显示”
?牐燛nd Sub
?牐燩rivate Sub Timer1_Timer()
?牐營f (-Label1.Top) - Label1.Height >= -Step Then '进度条的取值不能>100%!
?牐燬hape1.Width = Shape2.Width '100%进度条
?牐燣abel1.Top = -Label1.Height
?牐燭imer1.Enabled = False '禁止定时器
?牐燙ommand1.Enabled = True '允许按下按钮
?牐燬hape1.Width = 1 '0%进度条
?牐燛lse
?牐燣abel1.Top = Label1.Top - Step '字幕的滚动
?牐牐?实现进度条效果
?牐燬hape1.Width = Shape2.Width * (1 - (Label1.Top + Label1.Height) /(Picture1.Height + Label1.Height))
?牐燛nd If
?牐燛nd Sub
?牐犓姓庑┒纪瓿梢院螅匆幌翭5键执行一下程序试试,怎么样?咦!怎么窗口上什么都没有啊!呵呵,别着急,按一下窗口上的“显示”按钮再看一下,这下好了吧!是不是很为自己的成果而高兴呢!本程序在Windows 98SE,VB6下运行通过。