Кроме обычных элементов управления для работы с базами данных, пятая версия Visual Basic поддерживает несколько ActiveX объектов:
Data-bound list box — связанный с данными список,
Data-bound combo box — связанное с данными комбинированное окно,
MSFlexGrid — сетка,
Data-Bound Grid (DBGrid) — связянная с данными сетка,
MaskedEdit — окно редактирования с маской,
RichTextBox — улучшенное окно редактирования.
Все эти объекты, за исключением MaskedEdit и RichTextBox позволяют отображать на экране целые группы записей в виде списков или таблиц. А применение DBGrid позволяет настолько повысить функциональность разрабатываемых приложений, что об этом будет специальный разговор.
Более того, если по каким-либо причинам вас не удовлетворяют возможности поставляемых вместе с Visual Basic связанных элементов управления, вы можете использовать связанные элементы управления, созданные другими разработчиками, или можете сами создать собственные ActiveX объекты для связи с данными по вашему вкусу.
Общие свойства связанных элементов управления
Большинство связанных с данными элементов управления имеют три свойства, само название которых определяет их принадлежность к группе объектов, имеющих самое непосредственное отношение к данным — DataField, DataSource и DataChanged. Во всех названиях свойств присутствует слово Data. В следующей таблице приведено их краткое описание.
Свойство ∙ Описание
DataField ∙ Этим свойством определяется имя поля в наборе записей, созданном объектом управления данными
DataSource ∙ Этим свойством определяется имя объекта управления данными, с которым связывается данный элемент управления
DataChanged ∙ Это свойство показывает, было ли пользователем изменено содержимое связанного элемента управления
Чтобы использовать возможности связанных элементов управления вам необходимо: во-первых — определить источник данных указанием имени объекта управления данными в свойстве DataSource и, во-вторых — связать его с требуемым полем базы данных соответствующей установкой свойства DataField. Если база данных доступна во время разработки приложения, то список допустимых полей отображается в окне Properties (Свойства) связанного элемента управления (рис. 6.1).
Рис. 6.1. Установка свойства DataField текстового окна
Урок 7. Метка (Label), текстовое окно (Text box),...
...окно редактирования с маской (MaskedEdit), контрольный индикатор (Check box), Изображение (Image) и графическое окно (Picture box)
Label и Text Box
Объекты управления Label и Text Box используются для вывода текстовой информации на экранную форму. При работе с базами данных эти элементы управления могут применяться и для отображения на экране текстовой информации из полей базы данных. На панели инструментов Visual Basic метка и текстовое окно изображены пиктограммами
Метка (Label) может быть как однострочной, так и многострочной, но в отличие от текстового окна в ней не предусмотрены возможности редактирования и прокрутки данных. Если выводимый текст не помещается в отведенное для метки место на форме, то текст обрезается. Управлять этим поведением можно при помощи свойств AutoSize и WordWrap. Свойство AutoSize определяет поведение размеров метки при изменении длины выводимого текста и по умолчанию устанавливается в False, при этом размер метки не увеличивается с ростом длины строки. При установленном в True свойством AutoSize с помощью установок свойства WordWrap определяется поведение вертикального размера метки. Если WordWrap установлен в False, то при увеличении длины строки переносов слов не будет и горизонтальный размер метки будет увеличиваться до тех пор, пока текст не достигнет правого края экранной формы. Если WordWrap установлен в True, то по мере достижения правой границы метки будет осуществляться перенос слов. Такое поведение меток продемонстрировано на рис. 7.1.
Рис. 7.1. Управление поведением размеров метки при выводе текста с помощью свойств AutoSize и WordWrap
Следует помнить, что для сохранения заданного размера метки по горизонтали необходимо установить свойство WordWrap в True до установки свойства AutoSize. В противном случае, этот размер сразу уменьшится до значения, определяемого длиной строки в свойстве Caption.
Для отображения текстовой информации из базы данных все-таки гораздо больше подходит текстовое окно. Связь с объектом управления данными осуществляется установкой свойств DataSource и DataField.
Как и метка, элемент управления — текстовое окно (TextBox) может быть однострочным или многострочным. Это определяется установкой свойства MultiLine, которое по умолчанию устанавливается в False. Если вы хотите использовать многострочное текстовое окно с возможностью прокрутки данных, то после определения его размеров и месторасположения на экранной форме установите свойство MultiLine в True и, если требуется, свойство ScrollBars (рис 7.2).
Рис. 7.2. Однострочное и многострочное текстовые окна
Если вам требуется выводить текст не подлежащий редактированию пользователем, установите, например, свойство Locked в True.
Таким образом, метки все-таки удобнее используются для информирования пользователя о том, какого рода данные отображаются в текстовом окне, которое, как правило, располагается рядом. В этом случае метка не связывается с базой данных. Примеры такого использования меток и текстовых окон обсуждались в предыдущей главе.
Check box
Связанный с данными контрольный индикатор (Check box) можно использовать для наглядного представления на экранной форме информации из полей базы данных логического типа (Да или Нет, 1 или 0, True или False). Примерами таких данных могут служить: оплачен или не оплачен счет — при разработке системы управления счетами, есть товар на складе или нет — при автоматизации складского хозяйства, постоянный покупатель или нет — в системе работы с покупателями (рис. 7.3) и т. п. На 17 панели инструментов Visual Basic контрольный индикатор обозначен пиктограммой
Рис. 7.3. Пример использования контрольного индикатора
MaskedEdit
Известно, что пользователи часто совершают ошибки при вводе информации в базы данных. Впрочем, не ошибается лишь тот, кто ничего не делает. Установить некоторый контроль над действием пользователей позволяет использование для ввода специальной информации окна редактирования с маской (MaskedEdit) Этот элемент управления позволяет так же помещать в поле ввода символы разметки. Примером такой информации может выступать номер телефона или почтовый индекс. Типичный номер телефона имеет следующий формат, где скобки и дефисы являются символами разметки, а символ # определяет любую цифру:
(###)###-##-##
Почтовый индекс состоит из шести цифр и не должен содержать букв или других символов.
Окно редактирования с маской имеет свойство Mask (Маска), которое позволяет определить формат отображаемой строки в поле ввода. По умолчанию свойство Mask не определено и поведение объекта Mask полностью аналогично обычному текстовому окну. Символы, которые используются в качестве маски приведены в таблице.