Информационные системы

Информационные системы

Электронный учебник

Лабораторная работа №5

 

Создание формы в конструкторе форм

 

Процесс по созданию формы может включать в себя все или часть из приведенных процедур:

·         Настройка формы

·         Создания окружения

·         Размещения текста

·         Создания управляющих кнопок

·         Размещение линий, прямоугольников и рисунков

·         Установка цвета объектов формы

·         Удаление объектов формы

·         Перемещение объектов формы, а также перемещение областей, которые могут содержать несколько объектов

·         Сохранение формы

Настройка формы. Каждая форма имеет свойства, определяющие ее в основном окне Visual FoxPro, заголовок, принятый по умолчанию шрифт, цвет экрана и некоторые другие параметры. Для настройки этих параметров нужно выполнить команду View | Properties. На экране появится окно «Properties» со стандартными значениями свойств формы. В этом окне, редактируются свойства формы, можно задать размер окна формы, ее местоположение, заголовок и имя.

Размер формы и ее положение  задаются относительно основного окна Visual FoxPro. Установить эти параметры можно следующими способами:

·        Присвоить значения свойствам Height, Width, Left, Top, определяющим высоту, ширину формы и ее положение относительно верхнего левого угла основного окна Visual FoxPro.

·         Придать форме нужный размер с помощью курсора мыши.

Заголовок и стиль окна формы. Для задания заголовка, располагающегося в верхней части формы, предназначено свойство Caption окна свойств. Для осуществления коррекции заголовка, необходимо выделить курсором свойство Caption и в поле ввода поля, ставшим активным, введите заголовок формы.

Стиль обрамления окна формы задается с помощью свойства BorderStyle и может принимать следующие значения:

Значения

Описание

0-No border

Форма не имеет рамки

1-Fixed Single

Неизменяемая одинарная рамка

2- Fixed Dialog

Неизменяемая двойная рамка

3-Sizable (Default)

Изменяемая рамка (ее размеры можно изменять при выполнении)

Свойство Back-Color позволяет выбрать цвет фона или подходящий рисунок для фона формы с помощью окна диалога «Color».

Свойство WindowState определяет вид формы при ее вызове и может принимать одно из  следующих значений:

Значения

Описание

Normal

Форма имеет размеры, определенные ее свойствами

Minimized (Windows only)

Форма сворачивается в пиктограмму

Maximized

Форма распахивается на весь экран

 

Свойства FontName, FontSize, FontBold, FontOutlline, FontItalie, FontShadow, FontStrikethru, FontUnderline задают наименование шрифта формы, его размер и начертание.

Определение среды окружения. Наиболее часто форма используется для ввода и отображения данных, содержащихся в таблицах базы данных. В Visual FoxPro установка среды окружения, (то есть таблиц, используемых в форме, и связей между ними) осуществляется средствами конструктора форм. Для этой цели предназначено окно диалога «Date Environment», открыть которое можно одним из следующих способов:

·         Выполнить команду меню View | Environment

·         Нажать кнопку Data Environment на панели инструментов «Form Designer»

·         Выбрать пункт всплывающего меню Data Environment

При  открытии окна диалога определения среды в основное меню добавляется пункт DataEnvironment.

На рис.1 представлено окно «DataEnvironment » со всплывающим меню, позволяющим добавить таблицы, связать таблицы между собой, открыть окно свойств среды окружения  для задания различных параметров. Для добавления новой таблицы используется пункт всплывающего меню Add, при выборе которого открывается окно диалога «Add Table or View»  (рис. 2), позволяющее выбрать таблицу. Для добавлении таблицы можно также воспользоваться командой меню Data Environment | Add.


                                                Рис. 1 Окно диалога «Data Environment» со всплывающим меню

 


                                                                 Рис. 2 Окно диалога «Add Table or View»

 

Последовательность действий для определения среды окружения и задания свойств формы:

1.       Открыть проект Sales.

2.       Выбрать вкладку «Documents» и перейти на группу «Forms» в окне проекта нажать кнопку New.

3.       В открывшемся окне диалога «New Form» выбрать опцию New Form. На экране откроется окно конструктора экрана.

4.       Открыть окно «Data Environment», выполнив команду View | Data Environment.

5.       Для добавлении таблицы в окно определения среды окружения выполнить команду Data Environment | Add.

6.       В открывшемся окне диалога «Add Table or View» выбрать таблицу Customer и нажать кнопку ОК. В окне диалога «Data Environment» появится выбранная таблица. Закрыть окно определения среды окружения.

7.       Для определения свойств формы нужно выполнить команду View | Properties. Откроется окно «Properties».

8.       В окне «Properties» скорректировать свойство Caption, введя в текстовом поле заголовок формы Ввод списка покупателей.

9.       Скорректировать  свойство BackColor, выбрав в окне диалога «Color» цвет для формы, отвечающим заданным требованиям.

10.    Для того чтобы форма располагалась в центре экрана, свойство AutoCenter должно иметь значение True.

       11.    Установить свойства FontName, FontSize и выбрать любой из имеющихся шрифтов, поддерживающих  кириллицу, и его размер.

       12.    Сохранить форму под именем GetCust.

 

Размещение текстовой информации

Размещение текста в форме осуществляется с помощью инструмента Label, который находится на панели инструментов «Form Controls». Под текстом понимается любая текстовая информация:  заголовки, наименование и поясняющая информация.

Последовательность действий для размещения текста:

1.       Выбрать инструмент Label на панели инструментов «Form Controls». Если данная панель отсутствует на экране, для ее отображения выполните команду View | Form Controls Toolbar.

2.       Установите указатель мыши на место предполагаемого расположения текстового объекта и, удерживая кнопку мыши в нажатом состоянии, переместите курсор по диагонали так, чтобы получилась рамка требуемого размера.

3.       Для открытия окна свойств созданного объекта выделите его и выполните команду меню View | Properties. На экране раскроется окно « Properties».

4.       Если необходимо, чтобы фон текста не отличался от фона формы, установите для свойства BackStyle значение Transparent.

5.       Текстовая информация задается свойством Caption. Выделить курсором данное поле, после чего в поле ввода свойства ввести нужную информацию. Для переноса информации в поле свойства нажать клавишу Enter.

6.       Определить с помощью свойств FontName и FontSize вид и размер шрифта, а затем установить значение свойства ForeColor, задающего цвет текстовой информации.

 

Размещение полей ввода  

Наиболее простым типом поля является поле ввода. Для размещения поля ввода в форме выполняются следующие действия:

1.       Выбирается инструмент Text Box на панели инструментов «Form Controls».

2.       Установить указатель мыши на место, в котором предполагается разместить поле. Удерживая кнопку мыши в нажатом состоянии, переместить курсор по диагонали так, чтобы получилась рамка требуемого размера.

3.       Для открытия окна свойств создаваемого объекта выделить его и выполнить команду меню View | Properties. На экране раскроется окно «Properties».

4.       Чтобы связать созданное поле с полем таблицы, нужно выбрать свойство ControlSource из вкладки «Data». В поле ввода свойства воспользоваться кнопкой раскрытия списка  и из списка всех полей  открытой таблицы выбрать поле, которое нужно добавить в форму.

5.       Устанавливается свойство Alignment,  позволяющее задавать несколько вариантов выравнивания информации, отображаемого в поле:

Значение

Выполняемое действие

0-Left

Выравнивает текст влево

1-Right

Выравнивает текст вправо

2-Center

Выравнивает текст по середине, оставляя слева и справа одинаковые интервалы

3-Automatic

(Default)

Текст выравнивается в соответствии с типом данных источника элемента управления. Данные числового типа (в том числе двойного, плавающего, денежной единицы и целочисленного типа) выравниваются вправо; элементы управления с данными других типов выравниваются влево

6.       Для задания стиля  и цвета рамки поля используйте свойства BorderStyle и BorderColor, а для определения цвета фона неактивного поля – свойство DisabledBackColor.

7.       С помощью свойства Comment можно задать краткое описание назначения каждого объекта. Это описание полезно при разработке приложения и его сопровождении.

8.       Свойства FontName и FontSize определяют вид и размер шрифта, а ForeColoer – цвет информации в поле ввода.

9.       Для отображения полей ввода в эаданном формате  используется свойство Format.

 Допустимые форматы и выполняемые ими действия приведены в табл. 1.

 

Таблица 1. Форматы данных

Код

Назначение

!

Преобразует буквы к верхнему регистру

$

Выводит на экран текущий денежный символ

Код

Назначение

^

Отображает числа в экспоненциальном виде

А

Разрешает ввод только текстовых символов

D

Для редактирования данных типа даты использует текущий формат SET DATE

Е

Редактирует данные, рассматривая их как Европейские даты

К

Выделяет все поле целиком, когда курсор перемещается в данное поле

L

Отображает ведущие нули при их выводе в поле ввода

М

Задает несколько предопределенных значений на выбор

R

Содержит маску формата для поля ввода. Символы маски отображаются на экране, но не сохраняются в источнике данных

Т

Удаляет начальные и конечные пробелы в форме

YS

Отображает дату в кратком формате, используя установки Windows

YL

Отображает дату в полном формате, используя установки Windows

Z

Отображает 0 как пробел, за исключением случая, когда фокус установлен  на объекте

10.    Свойство InputMask  позволяет  задать выражение шаблоны. Символы, которые могут быть использованы в выражении шаблона, представлены в табл. 2

Таблица  2. Коды шаблонов PICTURE

Код

Действие

Х

Допускает ввод любых символов

9

В случае символьных данных позволяет вводить только цифры. В случае числовых данных позволяет вводить цифру и знак

#

Позволяет вводить цифры, пробелы и знак

$

Выводит на экран текущей денежный символ (определяемый при помощи SET CURRENCY). По умолчанию этот символ помещается непосредственно до или после поля. Однако, денежный символ и его позиция (SET CURRENCY), разделительный символ (SET SEPARATOR) и символ десятичного знака (SET POINT) могут быть переопределены

$$

Отображает плавающий денежный символ, положение которого определяется расположением цифр в поле ввода или счетчике

*

Перед числовыми значениями выводятся звездочки. Используется со знаком доллара «$»

.

Задает позицию десятичной точки

,

Используется для отделения цифр, стоящих слева от десятичной точки

 

11.    Если создается поле, информация из которого должна быть доступна только для чтения, необходимо установит значение свойства ReadOnly равным True.

12.    Свойство SpecialЕffect имеет два значения для стиля отображения поля: обычный двухмерный и трехмерный.

13.    Как правило,  в формате недостаточно места для длинных поясняющих надписей. Их можно вынести в строку состояния. Пояснения к полю, помещаемые в строку состояния, задаются свойством StatusBarText.

14.    Свойство ToolTipText позволяет создать краткое пояснение к полю, которое будет появляться ниже курсора мыши,  когда курсор установлен на поле и удерживается на нем некоторое время. Для отображения кратких пояснений устанавливается свойство ShowTips  формы равным True.

15.    Для определения значения поля по умолчанию задается свойство Value.

Размещение поля редактирования

Поля редактирования Edit Box очень удобны для редактирования символьных полей большого размера и Memo-полей. Для размещения поля редактирования в форме необходимо выполнить следующие действия:

1.      Выбрать инструмент Edit Box на панели инструментов «Form Controls».

2.      Установит указатель мыши в то место, где вы предполагаете разместить поле. Удерживая кнопку мыши в нажатом состоянии, переместите курсор по диагонали так, чтобы получилась рамка требуемого размера.

3.      Для открытия окна свойств созданного объекта нужно выделите его и выполнить команду
View½Properties. На экране раскроется окно « Properties».

4.      Поле редактирования предназначено для просмотра и редактирования полей большого размера, в правой части поля расположена полоса прокрутки, предназначенная для просмотра информации, не поместившейся в окне просмотра. Отличительной   особенностью поля редактирования по сравнению с полем ввода является наличие у него свойства ScrollBars. Это свойство может принимать два значения:

·    None – полоса прокрутки отсутствует

·    Vertical – поле имеет вертикальную полосу прокрутки

5.       Если необходимо предоставить пользователю возможность вставлять в редактируемый текст  символы     табуляции,  то нужно установит для свойства AllowTabs значение (.Т.). Если это свойство включено, то для выхода из поля и перемещения на следующий объект пользователь должен нажимать не клавишу Tab, а комбинацию клавиш Ctrl + Tab. При этом необходимо разместить в форме соответствующую подсказку.

Остальные свойства поля редактирования аналогичны свойствам поля ввода .

 

Размещение  в форме поля таблицы Customer.

1.        Открыть проект Sales.

2.        Установить курсор на форму GetCust и нажать кнопку Modify. На экране откроется окно конструктора экрана, содержащее форму GetCust.

3.        Используя инструменты Label на панели инструментов «Form Controls», создать заголовок «Покупатели», расположив его в верхней части экрана. Чтобы фон текста не отличался от фона формы, для свойства BackStyle установите значение Transparent. Далее установите вид, размер шрифта и цвет заголовка, скорректировав свойства   FontName, FontSize и ForeColor.  

4.        С помощью инструмента Text Box на панели инструментов «Form Controls» разместите в форме все поля таблицы Customer за исключением cAddress, nDiscont, lPrivileged и mNotes.

5.        С помощью инструмента Edit Box на панели инструментов «Form Controls» разместите в форме поля cAdress и nNotes таблицы Customer, которые имеют достаточно большую длину.

6.        С помощью инструмента Label на панели инструментов «Form Controls» создайте все надписи для созданных полей.

7.        Сохраните форму и закройте ее.

 

Создание кнопок управления.

Для просмотра таблицы необходимо добавить средства перемещения по записям таблицы.  В Visual FoxPro наиболее удобным средством для этих целей являются кнопки. Для создания кнопок в Visual FoxPro можно использовать два инструмента на панели инструментов «Form Controls»:

 Command Button  – создание одиночных кнопок

Command Group – создание набора кнопок

  

Создание одиночных кнопок.

Для создания одиночной кнопки выполняются следующие действия:

1.           Выберите инструмент Command Button на панели инструментов «Form Controls» и поместите кнопку в требуемом месте формы.

2.           Откройте окно свойств созданного объекта Command.

3.           На кнопке можно расположить текст или графическое изображение. При расположении текстовой информации скорректируйте свойство Caption, разместив в поле ввода значения текст, который будет отображаться на кнопке.

4.             Для расположения на кнопке графического изображения нужно выбрать свойство  Picture и нажать кнопку, расположенную правее поля ввода.  В результате откроется окно диалога «Open». В окне диалога можно выбрать файл с графическим изображением и просмотреть его вид в области «Picture». Для просмотра файла необходимо установить флажок Picture. После выбора файла нажмите кнопку ОК для перенесения изображения на кнопку.  Для расположения на кнопке графического изображения помимо свойства Picture служат также свойства DisabledPicture и  DownPicture. Свойство Picture определяет изображение на не нажатой кнопке, DownPicture – на нажатой, а DisabledPicture – на неактивной кнопке. В качестве изображения может служить любой ВМР - файл маленького размера.

5.             Когда кнопка создана, необходимо определить команды, которые будут выполняться при нажатии кнопки. Для этой цели служит метод объекта Click, который автоматически вызывается при нажатии на кнопку мыши. Для отображения в окне свойств объекта списка всех методов перейдите на вкладку «Methods».

6.             Для определения текста метода установите курсор на метод Click и нажмите кнопку мыши. На экране откроется окно процедур. В текстовой области окна разместите команды, которые должны выполнятся при нажатии на данную кнопку. Например, при нажатии на кнопку выхода из формы на экран будет выдаваться запрос о том, хотите ли вы действительно выйти из формы. При утвердительном ответе форма будет закрыта. Для выполнения этих действий используется функция Visual FoxPro MESSAGEBOX               

Режим редактирования составных объектов.

Некоторые объекты Visual FoxPro, такие как Command Group и Option Group, являются составными объектами. В их состав входят несколько объектов, каждый из которых имеет свои собственные свойства.

 Такие объекты содержат во всплывающем меню команду Edit, позволяющую перевести объект в режим редактирования.  При переходе   в данный режим вокруг объекта появляется заштрихованная рамка. В режиме редактирования каждым элементом, входящим в состав объекта, можно управлять как самостоятельным объектом: перемещать его внутри рамки, изменять его размеры, цвет и другие свойства.

 Для выхода из режима редактирования необходимо нажать мышью пространство вне области составного объекта.

Создание набор кнопок.

Инструмент Command Group панели инструментов «Form Controls» используется в том случае, если вам необходимо создать сразу несколько управляющих кнопок. Объект данного типа обладает свойством ButtonCount,  которого не имели ранее рассмотренные объекты.  Это свойство объекта определяет количество кнопок или команд, размещенных в объекте.

Разместим в форме GetCust кнопки перемещения по записям таблицы, а также кнопку выхода из формы.

1.             Откройте форму GetCust в окне конструктора форм.

2.             Выберите инструмент Command Group на панели инструментов     «Form Controls»     и           поместите объект в нижней  части формы.

3.             Откройте окно свойств созданного объекта.

4.             Свойство ButtonCount объекта определяет количество кнопок, размещаемых в объекте. По умолчанию свойство содержит значение, равное 2. Скорректируйте его, задав количество кнопок, равное 5.

5.             Увеличьте с помощью мыши размеры созданного объекта, чтобы в нем разместились все пять кнопок.

6.             Для того чтобы  расположить все кнопки горизонтально, необходимо перейти в режим редактирования созданного объекта.  Для этого установите курсор мыши внутрь объекта, нажмите правую кнопку мыши и выберите пункт Edit всплывающего меню.

7.             В режиме редактирования объекта типа CommandGroup, поочередно выделяя каждый элемент группы,  переместите их, расположив горизонтально вдоль одной линии. Для выхода из режима редактирования после завершения перемещений, нажмите мышью пространство вне области объекта типа Command Group. Скорректируйте размер  внешней рамки объекта под новое расположение кнопок.

8.             Откройте окно свойств объекта типа CommandGroup. Нажмите кнопку раскрытия списка в верхней части данного окна.  Отметьте, что этот список содержит все элементы, входящие в созданный объект. Выбирая в этом списке поочередно каждый элемент, можно изменить его свойства. 

9.             Скорректируйте для каждого элемента объекта свойство Caption, задав название кнопок: Первая, Следующая,  Предыдущая, Последняя, Выход.

10.          Определите команды, которые будут выполняться при их нажатии. Для каждого элемента, входящего в составной объект, в окне процедур метода Click поместите следующие команды.

11.          После ввода текста, закройте окна процедур.

12.          Набор кнопок для перемещения по записям таблицы и выхода из формы создан. Закройте форму на выполнение, выполнив команду Form | Run Form.

Задание.

  1. Создайте в конструкторе формы для всех таблиц в базе данных.
  2. Введите при помощи формы в каждую таблицу не менее 10 записей.
  3. Отметьте разницу между формами, созданными при помощи мастера и конструктора.

Пример выполнения работы