Visual Basic 6. Руководство разработчика


         

Обновление изображения


Теперь можно написать код, который обновляет изображение и вызывает событие TimeOut. Код, который будет написан в этом разделе, не имеет никакого отношения к конструированию элемента управления ActiveX. Этот код необходим при реализации таймера как самостоятельного приложения.

Совет

Если вы еще не совсем привыкли к среде конструирования ActiveX, то можно разработать обычное приложение, которое делает то же самое (то есть отсчитывает время, показывает прошедшее или оставшееся время на элементе управления Label, и обнаруживает, когда подходит время сигнала). Затем можно скопировать необ­ходимые процедуры и вставить их в окне проекта ActiveX.

Теперь напишем код для происходящего каждую секунду события Timer элемента управления Timer. Для этого следует установить свойство Interval элемента управления Timer равным 1000. В обработчике события Timer элемента управления Timer следует обновить изображение и проверить, не нужно ли выключить сигнал.

Программа 16.16. Событие Timer элемента управления Alarm

Private Sub Timerl_Timer()

Dim TimeDiff As Date

Dim StopNow As Boolean

If Time - m_AlarmTime > 0 Then

If NextDay = False Then

StopNow = True

Else

TimeDiff = 24 - Time + m_AlarmTime

End If

Else

If NextDay = True Then

StopNow = True

Else

TimeDiff = m_AlarmTime - Time

End If

End If

If m_CountDown Then

Label1.Caption = Format$(Hour(TimeDiff) &  ":" & _

Minute(TimeDiff) & ":" & Second(TimeDiff), "hh:mm:ss")

Else

Label1.Caption = Format(Hour(Time - startTime)  & ":" & _

Minute(Time - startTime) & ":" & _

SecondfTime - startTime), "hh:mm:ss")

End If

If StopNow Then

Timeri.Enabled = False

RaiseEvent TimeOut

End If

End Sub

Способ остановки таймера и вызова события TimeOut зависит от того, настроен ли элемент управления для обратного отсчета. При обратном отсчете он отображает оставшееся время, а при прямом отсчете он отображает время, прошедшее с момента запуска таймера (переменная startTime




Содержание  Назад  Вперед