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


         

Конструирование элемента управления - часть 2


Начнем с объявления переменных. Вставьте следующие строки в окно 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)




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