Консультация № 161402
25.02.2009, 20:12
0.00 руб.
0 3 1
Здравствуйте.
Я недавно занялся изучением Visual Basic 6 и у меня возник такой вопрос:
Как добиться того, чтобы во время выполнения программы изменение таких свойств, как Caption элемента Label или Picture элемента Image отражалось в форме сразу же, а не по завершении процедуры?
Вот пример. Нужно чтобы в одной прцедуре через паузу в 1 секунду менялся текст в элементе label, а именно - цифры от 5 до 1. Я составил код:

Код:

Private Sub Command1_Click()
Dim A As Integer, T As Single
For A = 5 To 1 Step -1
Label1.Caption = A
T = Timer
While Timer < T + 1
Wend
Next
End Sub


Но при выполнении программы цифры от 5 до 4 не отображаются, и только по истечении 5 секунд (после окончания процедуры) отображатся уже последнее значение - 1.
Я не хочу испольховать элемент управления таймер, т.к. хочу исключить возможность возникновения других событий во время пауз.

Обсуждение

Неизвестный
25.02.2009, 20:38
общий
это ответ
Здравствуйте, Ельшин Андрей!
одна строчка добавленная в Ваш код исправит ситуацию.

Сборник ключевых слов.

Евгений.

Приложение:
Private Sub Command1_Click()
Dim A As Integer, T As Single
For A = 5 To 1 Step -1
DoEvents '!!!
Label1.Caption = A
T = Timer
While Timer < T + 1
Wend
Next
End Sub
Неизвестный
27.02.2009, 16:11
общий
Благодарю за ответ.
А нет ли подобно "Сборнику ключевых слов" сборников свойств объектов и внутренних констант с их русским описанием?
Неизвестный
02.03.2009, 19:57
общий
Здравствуйте, Ельшин Андрей!
Единственный совет, на сегодняшний день, это файлы справки MS Office 97
Возраст почтенный, но от этого они не стали хуже, два плюса: базовые знания по MS Access, MS VBA и русификация.
URL >> ACMAIN80.HLP 2,11 МБ
URL >> ACVBA80.HLP 2,09 МБ
для использования необходимо сохранить локально.
Форма ответа