инструментов Form Controls (Элементы управления формы).
2.Установите указатель мыши в место предполагаемого размещения поля данного типа. Удерживая кнопку мыши нажатой, создайте рамку требуемого размера.
3.Откройте окно свойств размещённого объекта.
4.Используя свойство ControlSource (Источник данных), свяжите созданное поле с полем таблицы. Для этого в поле ввода свойства нажмите кнопку раскрытия списка и из списка полей таблицы Goods выберите поле gImage (Изображение), имеющее тип General (Общий) и содержащее изображения товаров.
5.Запустите созданную форму на выполнение, выбрав в меню Form (Форма) команду Run Form (Запустить форму). Если рисунок не помещается в рамке целиком, увеличьте размер рамки в конструкторе форм.
Использование в форме флажков
Для размещения в форме полей, которые могут иметь только одно из двух допустимых значений, используются объекты типа Checkbox, называемые флажками. Объекты данного типа могут использоваться в форме по одному или группами.
Рассмотрим пример. Таблица со списком клиентов может содержать поле, указывающее, является ли данный клиент постоянным. При установке флажка значение в поле будет соответствовать 1, а при сбросе флажка – 0.
Рассмотрим подробно процедуру создания флажка (см. рисунок 4.33). Это поле имеет тип Logical (Логический) и может принимать значения 0 или 1.
1.Откройте в окне конструктора проекта форму.
2.Нажмите кнопку Check Box (Флажок)
на панели инструментов Form Controls (Элементы управления формы).
3.Щёлкните в месте предполагаемого размещения флажка. Объект разместится в форме.
4.Откройте окно Properties (Свойства) для объекта типа Checkbox (Флажок).
5.Для связывания флажка с полем таблицы измените свойство ControlSource (Источник данных), задав в качестве источника данных поле типа Logical (Логический) таблицы Customer.
6.Введите в поле свойства Caption (Надпись) текст, поясняющий выбор. Данный текст будет размещен справа от флажка в окне конструктора форм, а
81
также в форме.
7. Флажок создан. Запустите форму на выполнение (на рисунке 4.34 представлен фрагмент формы с флажком).
Рисунок 4.34 – Использование в форме объекта типа CheckBox
Примечание
Для размещённого в форме флажка можно изменить свойства ForeColor (Цвет надписи), BackStyle (Стиль фона) и FontName (Наименование шрифта), определяющие цвет, фон, наименование шрифта.
Переключатель
Объекты типа OptionGroup называются переключателями, т. к. они позволяют выбрать одно из нескольких значений поля или переменной. Переключатели широко используются не только в Visual FoxPro, но и в других приложениях Windows. Объекты типа OptionGroup (Переключатель) представляют собой составные объекты, содержащие элементы, наделённые собственными свойствами, основные из которых приведены в таблице 4.24.
Таблица 4.24 – Назначение основных свойств объекта типа OptionGroup
Свойство |
Назначение |
Bu11onCount (Количество опций) |
Задает количество опций в переключателе |
Style (Стиль) |
Определяет вид переключателя |
Left (Слева), Top (Сверху) |
Расстояние между кнопками |
Borderstyle (Стиль обрамления) |
Стиль обрамления |
Рассмотрим процесс создания переключателя для просмотра и редактирования поля.
1.Откройте в конструкторе форму. Расположите в ней все поля, за исключением поля, указывающего страну.
2.Нажмите кнопку Option Group (Переключатель)
на панели инструментов Form Controls (Элементы управления формы).
82
3.Щёлкните в том месте формы, в котором хотите расположить поле для ввода названия страны.
4.Откройте окно Properties (Свойства) для созданного объекта.
5.Скорректируйте свойство ButtonCount (Количество опций). Задайте количество опций, равное 3.
6.Свяжите созданное поле формы с полем таблицы, содержащим информацию о стране проживания клиента. Для этого используйте свойство ControlSource (Источник данных).
7.Откройте в верхней части окна Properties (Свойства) список объектов и выберите из него первую опцию переключателя Option 1 (Опция 1). При этом объект выделяется штриховой рамкой, т. е. переходит в режим редактирования.
8.Для объекта Option 1 (Опция 1) измените свойство Caption (Надпись), введя название страны Россия.
9.Для объекта Option 1 (Опция 1) измените свойства ForeColor (Цвет надписи), BackColor (Цвет фона), FontName (Наименование шрифта), определяющие цвет шрифта, цвет фона переключателя и наименование шрифта.
10.Аналогично измените свойства для остальных двух объектов.
11.Воспользовавшись кнопкой Label (Метка) на панели инструментов Form Controls (Элементы управления формы), создайте над переключателем надпись Страна проживания.
12.Сохраните форму с размещённым в ней переключателем.
На рисунке 4.35 представлена форма с переключателем, использующимся для ввода информации в поле Страна проживания.
Рисунок 4.35 – Фрагмент формы, содержащей переключатель
Теперь при вводе информации в список клиентов в поле таблицы,
83
содержащее страну проживания, будет заноситься значение, которое вы установите с помощью переключателя.
Примечание
По умолчанию опции в переключателе расположены вертикально. Для расположения опций горизонтально перейдите в режим редактирования переключателя и, используя мышь и клавиши-стрелки, измените их расположение.
Списки
Visual FoxPro позволяет использовать разные объекты для отображения в форме одного и того же поля. Например, в предыдущем примере для ввода информации в поле, указывающее страну проживания, использовался переключатель. Если вводимых в поле значений много, удобно использовать списки, называемые объектами типа ListBox (Список).
Списки в Visual FoxPro используются для отображения в форме элементов, которые могут быть заданы с помощью массива, меню, списка файлов, значений поля таблицы и т. д. С целью указания источника данных для списка используется свойство RowSourceType (Тип источника данных). Объекты типа ListBox имеют также свойства, которые отсутствовали у ранее рассмотренных объектов (таблица 4.27).
Таблица 4.27 – Свойства объектов типа ListBox, отсутствовавшие у
рассмотренных ранее объектов
Свойство |
|
Назначение |
ColumnCount (Количество колонок) |
Определяет число колонок в списке |
|
FirstElement (Первый элемент) |
Задает первый элемент массива, который |
|
|
|
будет отображаться в списке |
NumbeгОfElements |
(Количество |
Определяет количество элементов массива, |
элементов) |
|
отображаемых в списке |
Multiselect (Множественный выбор) |
Определяет, может ли пользователь |
|
|
|
выбирать более одного значения из списка |
RowSource |
|
Указывает источник данных списка |
(Источник данных списка) |
|
|
Разместим в форме список, который будем использовать для ввода названия страны проживания клиента. В качестве источника данных для списка будем использовать таблицу Country (Страна).
1.Откройте в окне конструктора форму для ввода информации.
2.Откройте окно окружения формы. Для добавления в окружение формы таблицы с наименованиями стран выберите команду Add (Добавить) контекстного меню. На экране откроется диалоговое окно Add Table or View (Добавить таблицу или представление данных), в котором выберите
84
таблицу Country (Страна).
3.Удалите из формы поле ввода страны проживания клиента, т.к. в данном примере для ввода значения страны проживания клиента будет использоваться список.
4.Нажмите кнопку list Box (Список)
на панели инструментов Form Controls (Элементы управления формы).
5.Щёлкните на месте удалённого поля ввода.
6.Откройте окно Properties (Свойства) размещённого в форме списка.
7.Чтобы связать созданное поле с полем таблицы, выберите свойство ControlSource (Источник данных). В поле ввода значения свойства воспользуйтесь кнопкой раскрытия списка и из списка всех полей открытой таблицы выберите поле Country.
8.Скорректируйте свойство RowSourceType (Тип источника данных), которое указывает тип источника данных. Выберите из списка значение
Fields (Поля).
9.Скорректируйте свойство RowSource (Источник данных списка), задав в поле ввода значения свойства Country. Country.
10.Запустите форму на выполнение. Теперь при редактировании списка клиентов в поле Country таблицы будет заноситься значение, выбираемое из списка (рисунок 4.36).
Рисунок 4.36 – Использование в форме списка
Раскрывающиеся списки
В Visual FoxPro существуют два вида списков. Один из них мы рассмотрели в предыдущем примере. Второй вид списка – объект типа ComboBox или раскрывающим список. Этот тип списка удобно использовать в том случае, если вводимых значений много, а места в форме для расположения обычного списка
85