Я пытаюсь создать телесуфлер с помощью Word VBA и Userform. Я сделал это, перетаскивая ярлык пользовательской формы вверх каждые xxx миллисекунды, чтобы создать эффект прокрутки текста. Моя проблема - мигающий экран, поскольку, вероятно, код работает намного быстрее, чем обновление graphi c. Есть ли способ предотвратить мигание экрана?
РЕДАКТИРОВАТЬ:
Ниже приведен код
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim i As Double
Dim dblScrollHeight As Double
Dim sglPause As Single, sglStart As Single
Dim dblEndPos As Double
If KeyAscii = 32 Then bolScroll = Not bolScroll
If bolScroll = True Then
dblEndPos = 50
dblScrollHeight = 0.1
sglPause = 0.0005 'Alter this number to adjust scroll speed.
i = dblCurrTop
Do
sglStart = Timer 'Set Start time.
Do
DoEvents
Loop Until Timer - sglStart > sglPause
i = i - dblScrollHeight
dblCurrTop = i
'Application.ScreenUpdating = False
Me.lblPrompter.Top = dblCurrTop
'Application.ScreenUpdating = True
If i + Me.lblPrompter.Height <= dblEndPos Then bolScroll = False
Loop Until bolScroll = False
End If
End Sub