В этом разделе мы напишем код, ответственный за инициализацию нашего элемента.
Когда программист размещает ActiveX-элемент на форме, то происходят два события - InitProperties и Initialize. Как Вы должны помнить, первое из них обычно используется для задания стандартных начальных значений для ActiveX-элемента. Этот код будет выполняться только один раз. Код второго (Initialize) будет выполнятся несколько раз - и когда элемент создается на форме программистом, и когда программа с нашим элементом запускается.
Мы хотим, чтобы первоначально наш ActiveX-элемент PasswordBox имел некоторые стандартные размеры. Хорошей идеей здесь будет совпадение его размеров с размерами обычного TextBox'а (они, как легко посмотреть, равны 1215 на 495). Соответствующий код для начальной инициализации приведён ниже:
Private Sub UserControl_InitProperties() UserControl.Width = 1215 UserControl.Height = 495 txtPassword.Top = 0 txtPassword.Left = 0 End Sub
Обратите внимание на строчки
UserControl.Width = 1215 UserControl.Height = 495
В них мы устанавливаем ширину и высоту не для нашего TextBox'а txtPassword, а для UserControl'а, на котором мы расположили наш TextBox с именем txtPassword. Смысл в этом следующий - сейчас, на этапе разработки, наш элемент PasswordBox выглядит как показано на рисунке 26. Т. е. вокруг нашего TextBox'а есть некоторые "лишние" поля. Мы же хотим, чтобы наш ActiveX-элемент PasswordBox по внешнему виду совпадал с обычным TextBox'ом, т. е. нам надо все эти лишние поля убрать. Для этого мы и изменяем размеры UserControl'а, делая их совпадающими с размерами TextBox'а.
Сейчас Вы уже можете испытать наш ActiveX-элемент. Закройте UserControl нашего ActiveX-элемента и сделайте активной форму test. Двойным щелчком на панели элементов разместите конструируемый нами ActiveX-элемент PasswordBox на форме test.
Благодаря написанному нами коду для инициализации внешний вид нашего элемента должен совпасть с внешним видом обычного TextBox'а (рис. 5). Выделите на форме test наш ActiveX-элемент и обратите внимание, что в окне свойств появились два новых свойства: MaxAttempt и Password. Но пока эти свойства не сохраняются. Для того, что бы убедиться в этом, задайте, например, для свойства Password значение "123". Запустите тестовую программу, нажав F5. Закройте тестовую программу и посмотрите на свойство Password для нашего элемента PasswordBox1. Это свойство не сохранилось - вместо значения "123" должна быть пустая строка. Разрешением этом проблемы мы сейчас и займёмся. Закройте тестовую форму и возвратитесь к конструированию ActiveX-элемента.
Далее