Страница 172 из 179
Рис. 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),...
...контейнер OLE (OLE container), связанное окно списка (Data-bound list box) и связанное комбинированное окно (Data-bound combo box).
List box и Combo box
Окна списка и комбинированные окна удобно использовать когда необходимо предоставить возможность пользователю выбирать элемент из списка. Кроме того, с помощью комбинированного окна пользователь может добавить элемент в список, а панели инструментов Visual Basic окно списка и комбинированное окно изображены пиктограммами и . Как и все обычные элементы и комбинированное окно изображены пиктограммами управления Visual Basic окна списка и комбинированные окна связываются с базой данных установкой свойств DataSource и DataField.
Заполнение списков проводится при помощи метода Addltem или установкой свойства List.
Построим простое приложение для демонстрации использования списка и комбинированного списка. Положим, что у нас есть база данных PRODUCTS.MDB для учета товаров, единственная таблица которой PRODUCTS содержит поля, как показано в таблице.
Текстовое поле Depository определяет наличие товара на складе и может содержать только одну из двух строк “Да” или “Нет”.
Создайте новый проект и расположите на форме объект управления данными, пять меток, четыре текстовых окна, командную кнопку, список и комбинированный список как показано на рис. 8.1.
Рис. 8.1. Расположение элементов управления на форме
В окне свойств объекта Data1 определите свойство Caption, как “Товары”, установите свойство DatabaseName как имя файла базы данных с указанием полного пути, например, C: WORKPRODUCTS.MDB и укажите в качестве источника данных имя таблицы PRODUCTS определением свойства RecordSource. Затем установите свойства меток, текстовых окон и командной кнопки, списка и комбинированного списка следующим образом:
Label1.Caption=Код товара
Label2.Caption=Наименование
Label3.Caption=Цена
Label4.Caption=Присутствие на складе
Label5.Caption=Примечание
Соmmand1.Caption=Добавить
Text1.DataSource=Data1
Text1.DataField=Id
Text2.DataSource=Data1
Text2.DataField=Product
Text3.DataSource=Data1
Text3.DataField=Price
Text4.DataSource=Data1
Text4.DataField=Note
List1.DataSource=Data1
List1.DataField=Depository
Combo1.DataSource=Data1
Combo1.DataField=Depository
В процедуру обработки события нажатия кнопки добавьте код, который добавит пустую запись в набор записей и сделает ее текущей:
Private Sub Command1_Click()