之前的文章讲过制作字幕上下滚动的窗体。类似的,我们也可以制作左右滚动的字幕窗体。
思路
跟之前制作上下滚动字幕的场景类似,字幕可以通过设置Label标签的标题来实现;字幕滚动,可以在循环中动态修改Label的Left属性。
知识点
本节需要用到Windows API,这个之前讲过,用来实现程序暂停。
代码实现
大体实现跟之前的文章类似。以下为具体实现代码。
Dim flag As Boolean
Private Sub UserForm_Activate()
With Me.lblScroll
' 设置基本属性
.BackStyle = fmBackStyleTransparent
.ForeColor = vbBlue
.Font.Bold = True
.Font.Name = "微软雅黑Light"
.Font.Size = 16
.Left = 0
.Top = Me.Height / 2
.Caption = "天若有情天亦老,人间正道是沧桑"
' 开始
Do While Not flag
changePosition
If flag Then
Exit Sub
End If
Loop
End With
End Sub
'
' 调整标签的位置
'
Sub changePosition()
DoEvents
On Error Resume Next
With Me.lblScroll
.Left = .Left + 2
If .Left > Me.Width Then
.Left = -.Width
End If
End With
Sleep 30
End Sub