Проблема с миганием экрана при обновлении формы пользователя - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь создать телесуфлер с помощью 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...