ЖАНРЫ

Интернет-журнал "Домашняя лаборатория", 2007 №4
Шрифт:

Рис. 7.3. Пример использования контрольного индикатора

MaskedEdit

Известно, что пользователи часто совершают ошибки при вводе информации в базы данных. Впрочем, не ошибается лишь тот, кто ничего не делает. Установить некоторый контроль над действием пользователей позволяет использование для ввода специальной информации окна редактирования с маской (MaskedEdit) Этот элемент управления позволяет так же помещать в поле ввода символы разметки. Примером такой информации может выступать номер телефона или почтовый индекс. Типичный номер телефона имеет следующий формат, где скобки и дефисы являются символами разметки, а символ # определяет любую цифру:

(###)###-##-##

Почтовый индекс состоит из шести цифр и не должен содержать букв или других символов.

Окно редактирования с маской имеет свойство Mask (Маска), которое позволяет определить формат отображаемой строки в поле ввода. По умолчанию свойство Mask не определено и поведение объекта Mask полностью аналогично обычному текстовому окну. Символы, которые используются в качестве маски приведены в таблице.

Таблица. Символы, используемые в качестве маски

Символ - Описание

# – Любая цифра

– Десятичная точка (например, 3.1415),

, - Разделитель тысяч (например, 1,000,000)

: - Разделитель времени (например, 21:30)

/ - Разделитель даты (например, 05/08/97)

& – Любой символ

A– Любая цифра или буква

? - Любая буква

С полем базы данных объект MaskedEdit связывается установкой свойств DataSource и DataField.

Построим простое приложение в котором будут реализованы возможности рассмотренных в этом разделе связанных элементов управления. Создадим, например, при помощи приложений VisData или MS Access базу данных CUSTOMER.MDB с одной таблицей CUSTOMERS, в которой будем хранить информацию о покупателях. Пусть эта таблица будет содержать следующие поля:

Так как наше приложение будет простой программой просмотра содержимого базы данных, то самостоятельно добавьте в таблицу CUSTOMERS несколько произвольных записей.

Создайте новый проект и расположите на форме объект управления данными, семь меток, пять текстовых окон, окно редактирования с маской и один контрольный индикатор, как показано на рис. 7.4.

Рис. 7.4. Расположение элементов управления на экранной форме

Теперь в окне свойств объекта Data1 определите свойство Caption, как “Покупатели”, установите свойство DatabaseName как имя файла базы данных с указанием полного пути C: \WORK\ CUSTOMER.MDB и укажите имя таблицы Customers в качестве источника данных RecordSource.

Затем установите свойства меток, текстовых окон, окна редактирования с маской и контрольного индикатора следующим образом:

LаЬеl1.Сарtion=Имя

LаЬеl2.Сарtion=Фамилия

LаЬеl3.Сарtion=Предприятие

LаЬеl4.Сарtion=Адрес

LаЬеl5.Сарtion=Телефон

LаЬеl6.Сарtion=Примечание

Text1.DataSource=Data1

Text1.DataField=Name

Text2.DataSource=Data1

Text2.DataField=LastName

Text3.DataSource=Data1

Text3.DataField=Concern

Text4.DataSource=Data1

Text4.DataField=Address

Text5.DataSource=Data1

Text5.DataField=Note

MaskedEdit1.DataSource=Data1

MaskedEdit1.DataField=Phone

MaskedEdit1.Mask=(###)###-##-##

Check1.Caption=Постоянный покупатель

Check1.DataSource=Data1

Check1.DataField=Const

Метку Label7 будем использовать аналогично текстовому окну, в котором отображается содержимое поля Note (Примечание). Для этого установите следующие свойства:

Label6.DataSource=Data1

Label6.DataField=Note

Теперь сохраните и запустите проект. Результат работы приложения показан на рис. 7.5.

Рис. 7.5. Результат работы приложения

Image и Picture box

Для отображения на форме графических объектов в формате Windows (битовые карты — файлы с расширением BMP, иконы — ICO и метафайлы — WMF), а также рисунков в форматах GIF и JPG можно использовать элементы управления Image (Изображение) и Picture Box (Графическое окно). Связываются эти объекты управления с базой данных установкой все тех же свойств DataSource и DataField и на панели инструментов Visual Basic обозначены пиктограммами и соответственно.

Хотя эти элементы управления и служат одной цели, тем не менее, они отличаются эти друг от друга способом отображения графики. Свойство Stretch (Растяжение) объекта Image по умолчанию устанавливается в False и линейные размеры объекта “Изображение” будут изменяться в соответствии с действительными размерами рисунка. Если Stretch равно True, то рисунок при выводе его на форму будет сжиматься или растягиваться согласно взаимному соотношению размеров рисунка и линейным размерам объекта “Изображение”. В этом случае, если длина и ширина объекта и самого рисунка не пропорциональны друг другу то, то что вы увидите на экране может заметно отличаться от оригинала. Картинка может заметно исказиться (рис. 7.6). Таким образом, при использовании объекта Image для вывода графики в любом случае, независимо от установки свойства Stretch, вся картинка разместится на экранной форме.

Рис. 7.6. Влияние установки свойства Stretch на вывод изображения

Использование для представления графики объекта “Графическое окно” позволяет выводить рисунки без искажений. При установке свойства AutoSize объекта Picture в False, а именно так оно определяется по умолчанию, размеры объекта не будут приводиться в соответствие с размерами картинки. Если в этом случае картинка не поместится целиком в графическое окно, то она будет обрезана (рис. 7.7). С другой стороны, если AutoSize равен True, то при выводе картинки на экран размеры графического окна изменятся согласно размерам выводимого изображения.

Рис. 7.7. Влияние установки свойства AutoSize на вывод изображения

Использование элементов управления Image и Picture Box не позволяют проводить редактирование изображений. Если в вашем приложении необходимо вносить изменения в графические изображения, то лучше воспользоваться контейнером OLE.

Урок 8. Окно списка (List box), комбинированное окно (Combo box),...

Поделиться с друзьями: