Разработка форм в FoxPro 6.

 

Вызов редактора форм из командной строки с целью создания формы: create form <имя формы> При этом создаётся файл <имя формы>. scx .

Редактирование формы: modify form <имя формы> При этом открывается окно Form Designer с панелями Form Controls и Properties . Прежде всего необходимо сформировать среду окружения (выпадающее меню Data Environement при клике на окне формы) для формы: добавить таблицы и связать их между собой.

Созданная форма сразу готова для выполнения (меню Form / Run Form или кнопка «!»). Запуск формы на выполнение из командной строки:

do form <имя формы>

read events

Обращение к объектам текущей формы:

thisform. <имя объекта> . <имя свойства> = <значение>

Основные поля, методы или свойства формы и связанные с ними типичные реакции:

Unload Event

закрытие формы

clear events

Init Event

инициализация формы

устанавливаются нач. знач. объектов формы

Caption

заголовок формы

уже установлен

Основные объекты формы:

мастер помогает установить параметры объектов
1. Поле комментария ( Label ) текстовая информация (заголовки)
2. Текстовое поле (Text Box) поле ввода и вывода данных с форматом и маской
3. Поле редактирования (Edit Box) поле для редактирования символьных полей большого размера и memo -полей
4. Кнопка (Command Button) одиночная кнопка с надписью или рисунком
5. Группа кнопок (Command Group) заданное количество кнопок в одном контейнере*
6. Группа переключателей (Option Group) Кнопки с зависимой фиксацией*
7. Флажок (Check Box) Принимает значение 0 или 1
8. Поле со списком ( Combo Box ) Данные вводятся или выбираются из вып. списка
9. Список выбора (List Box) Отображение многостолбцовых данных со скролл.
10. Катушка (Spinner) инкремент/декремент с заданным шагом
11. Табличное представление (Grid) если не хочется использовать BROWSE
12. Изображение (Image) поддерживаются все известные графич. форматы
13. Таймер ( Timer ) отображение системных часов или обновление данных через заданный интервал
14. Рамка вкладок (Page Frame) составной объект из заданного числа страниц*
15. Элем . отображения ActiveX (ActiveX Bound Control, OLE Bound Control) подключение внешних элементов управления для отображения значений поля типа General
16. Элем. управления ActiveX создание ActiveX- объекта
17. Линия, Контур ( Line , Shape ) линия, прямоугольник, эллипс, окружность
18. Контейнер ( Container ) собирает объекты для однотипного управления
19. Разделитель ( Separator ) разделитель кнопок
20. Гиперссылка ( Hyperlink )  

чтобы проникнуть внутрь контейнера для редактирования его объектов следует выбрать в выпадающем меню опцию « Edit », щёлкнув по объекту-контейнеру правой кнопкой мыши.

С помощью команд меню Format (/ Align , / Size ) можно сделать объекты одинакового размера, выровнять их относительно друг друга или формы, сделать равными расстояния между ними и т.п.

Для каждого объекта существуют свойства и методы, управляющие его внешним отображением (вкладка Layout в окне Properties ), взаимодействием с источником данных для этого объекта (вкладка Data ), методами обработки событий от других элементов или связанных с действиями пользователя (вкладка Methods ), прочие свойства (вкладка Other ).

В выделенном на рисунке окне может работать построитель выражений (кнопка f x ) для определения значения свойства (если в этом есть необходимость). Если для метода указано [ Default ] , то выполняются действия по умолчанию для каждого из методов. Если требуется ввести собственные действия, после двойного щелчка открывается окно для ввода программы, назначаемой данному методу, помимо действий, выполняемых по умолчанию.

Основные методы объектов формы и связанные с ними типичные реакции:

Caption

текст для Label и Button

конечно, можно менять программно, например this .caption = time()

Name

имя объекта (уникальное)

зная его, программно управляем объектом

Value

текущее значение объекта

можем устанавливать и читать, например:

Thisform.Text1.Value = Date()

Picture

изображение для Button и Image

вводится имя файла изображения

Click Event

нажатие – прежде всего для Button

пример для кода кнопки «К началу таблицы»:

if !bof()

go top

endif

_screen.ActiveForm.Refresh()

Format , InputMask

для полей ввода

такие же опции форматирования, что и для команд SAY / GET с шаблоном PICTURE

RowSource

для списков – источник данных

совместно с полем RowSourceType

     

Пример кода для кнопки «Выход из формы»:

if MessageBox (“Выходить из формы ?”, 4+32+256, ”Выход”) = 6

_screen.ActiveForm.Release()

else

_screen.ActiveForm.Refresh()

EndIf

Если переменную или массив намечается использовать вне формы или при взаимодействии нескольких форм, создавайте её как Public .

назад главная вперед