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



         

Инициализация элемента управления и его свойств


Для этих целей можно использовать два события -

Initialize и InitProperties. Событие InitProperties предназначено для задания свойствам начальных значений.

До сих пор за нас это делал мастер интерфейса пользователя ActiveX. Событие Initialize может использоваться для выполнения кода инициализации, который не использует свойства. Если попытаться задать значение свойства или выполнить какое-либо действие на элементе управления (например, вывести Title на элементе управления оператором UserControl. Print "Control"), то будет выдано следующее сообщение об ошибке:

Object Required

Объект UserControl еще не существует. Именно поэтому оператор:

UserControl.Print "Control"

работает только тогда, когда находится внутри других событий, но не внутри события Initialize.

Что же можно сделать из кода этого события? Очень немного. Можно присвоить начальные значения закрытым переменным элемента управления, но нельзя обращаться к свойствам элемента управления и даже к объекту Ambient.

Больший интерес представляет событие InitProperties, которое Происходит после того, как создан элемент управления. Следует только помнить, событие Initialize имеет место каждый раз, когда происходит переключение между режимом конструирования и выполнения, но событие InitProperties за ним не следует.

Совет

Событие InitProperties происходит тогда, когда элемент управления создается и по­мещается на контейнер первый раз. После этого роль события InitProperties в цикле жизни элемента управления берет на себя событие ReadProperties. При изменении значения некоторых свойств элемента управления для Visual Basic бессмысленно сбрасывать эти свойства в их начальные значения. Вместо этого, он считывает их из Property Bag при вызове события ReadProperties.

В событии InitProperties можно вставить код инициализации, который управляет внешним видом "новорожденного" элемента управления. Например, можно определить, что случится, если пользователь помещает элемент управления на форму с помощью двойного щелчка на пиктограмме вместо перетягивания элемента управления на форму. Когда Visual Basic помещает экземпляр элемента управления на форму, он уже имеет некоторый размер (который одинаков для всех элементов управления). Если элемент управления содержит длинный заголовок, геометрическую фигуру или любой другой элемент, который должен быть виден полностью, можно откорректировать начальный размер элемента управления с помощью нескольких операторов:




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