Начнем с объявления переменных. Вставьте следующие строки в окно Code объекта UserControl:
Private startTime As Date
Private Running As Boolean
Private m_CountDown As Boolean
Private m_AlarmTime As Date
Уже можно догадаться, что m_CountDown
и m_Alarm Time — две закрытые переменные, которые содержат значения свойств CountDown и AlarmTime. Пока запущен Alarm, переменная Running равна True, и она объявлена вне всех процедур, чтобы все они могли обращаться к ее значению. Переменная startTime устанавливается равной времени начала отсчета и используется, когда элемент управления не считает в обратном направлении (дальше будет видно, как это используется).
Чтобы сделать заготовки для свойств элемента управления с помощью команды Add Procedure, выполните следующие действия.
1. Переключитесь в окно UserControl и выполните двойной щелчок на форме, чтобы открыть окно Code.
2. Выберите команду Add Procedure меню Tools, чтобы открыть диалоговое окно Add Procedure.
3. Введите имя свойства CountDown и выберите тип Property. В окно кода будут вставлены следующие строки.
Public Property Get CountDown() As Variant
End Property
Public Property Let CountDown(ByVal vNewValue As Variant)
End Property
4. Измените тип свойства, чтобы он соответствовал объявлению, а затем введите строки кода для вставленных ранее процедур.
Public Property Get CountDown() As Boolean
CountDown = m_CountDown
End Property
Public Property Let CountDown(ByVal vNewValue As Boolean)
m_CountDown = vNewValue
End Property
Примечание
Приведенный код совершенно тривиален. Все процедуры Property ставят в соответствие закрытой переменной название свойства и имеют одинаковую структуру. Нужно не забывать только изменять их типы с Variant на требуемый.
5. Сделайте то же самое для переменной AlarmTime. Процедуры для этого свойства имеют следующий вид.
Public Property Get AlarmTime() As Date
AlarmTime = m_AlarmTime
End Property
Public Property Let AlarmTime(ByVal vNewValue As Date)