要制作字幕上下滚动的窗体,可以结合Windows API函数,并修改标签位置来滚动字幕。
思路
字幕,可以通过设置Label标签的标题来实现。字幕滚动,可以在循环中动态修改Label位置。
知识点
本节需要用到Windows API,这个之前讲过,用来实现程序暂停。
代码实现
按照最开始的思路,我们在窗体的Activate事件中减小Label的Top属性。当Label的Top属性的值小于0时,重新将其重置为最大值。以下为具体实现代码。
Dim flag As Boolean
Private Sub UserForm_Activate()
With Me.lblScroll
' 设置基本属性
.BackStyle = fmBackStyleTransparent
.ForeColor = vbBlack
.Font.Bold = True
.Font.Name = "微软雅黑"
.Font.Size = 14
.Left = 5
.Top = Me.Height
.Caption = "回首向来萧瑟处,也无风雨也无晴"
' 开始
Do While Not flag
changePos
If flag Then
Exit Sub
End If
Loop
End With
End Sub
'
' 调整标签的位置
'
Sub changePos()
DoEvents
With Me.lblScroll
.Top = .Top - 1
If .Top < -.Height Then
.Top = Me.Height
End If
End With
Sleep 30
End Sub