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

       

Доработка существующих элементов управления


Имеется возможность разрабатывать пользовательские элементы управления ActiveX, которые расширяют возможности существующих элементов управления. Вряд ли найдется хоть один пользователь, который не хотел бы добавить "новые" возможности к существующим элементам управления. Многие программисты добавляют новые возможности к стандартным элементам управления ActiveX с помощью соответствующего кода в их приложении. Например, недостатком элемента управления ComboBoxt является то, что любые новые значения, добав­ляемые в поле ввода, не добавляются в список значений. Другими словами, элемент управления ComboBox позволяет ввести новое значение, но это значение автоматически не добавляется к списку значений. Многие программисты пере­хватывают нажатие клавиши ENTER в элементе управления ComboBox и вручную добавляют новые значения в список элемента управления.

Уверен, что каждый программист хотел бы добавить свое собственное небольшое усовершенствование к стандартному элементу управления VB. В этом разделе рассматривается, как доработать существующие элементы управления ActiveX и оформить их в виде заказных (специальных) элементов управления. Очевидно, что нельзя изменить базовые функции существующего элемента управления, поскольку нет никакого доступа к их коду. Но можно сделать очень многое, добавляя некоторый код и оформляя существующий элемент управления вместе с добавленным кодом как новый элемент управления.

В этом разделе будет показано, как можно доработать элемент управления TextBox. Заказной элемент управления CTextBox представляет собой обычный элемент TextBox, который изменяет свое поведение в зависимости от того, принимает ли он обязательное или необязательное поле.

На компакт-диске, в папке этой главы, можно найти проект CLDesign, который демонстрирует, как в режиме конструирования можно добавить к элементу управления дополнительные возможности для режима выполнения. Вы когда-либо пробовали задать значение элемента управления Scrollbar в режиме конструирования, двигая его бегунок? Большинство пробовали это, и результатом было переме­щение всего элемента управления на форме. Значение элемента управления ScrollBar не может быть установлено визуально в режиме конструирования. Интересное расширение элемента управления ScrollBar может обеспечить механизм, который позволит разработчику определять, должен ли элемент управления перемещаться или должен функционировать так, как и во время выполнения, даже в том случае, если он находится в режиме конструирования. Проект CLDesign достаточно прост, и поэтому не будет обсуждаться в этой главе. Все то, что нужно знать для того, чтобы заставить элемент управления вести себя в режиме конструирования так же, как и в режиме выполнения - это свойство EditAtDesignTime объекта UserControl. Если установить это свойство равным True, команда будет добавлена к контекстному меню. Выполните щелчок правой кнопкой на элементе управления тестовой формы и выберите команду Edit. Элемент управления будет вести себя так, как будто он находится в режиме выполнения. Например, если он содержит элемент управления Scrollbar, то можно изменить значение элемента управления с помощью мыши. Элемент управления CLDesign, показанный на форме, изображенной на рис. 16.17, позволяет разработчику выби­рать начальный цвет в режиме конструирования с помощью трех полос прокрутки.

Рис. 16.17. Проект CLDesign в режиме конструирования приложения ведет себя так же, как и в режиме выполнения



Содержание раздела