Реляционные СУБД в Visual FoxPro 8



Кнопки управления

Как правило, в полях формы отображается информация об одной записи. Для просмотра всех записей таблицы необходимо добавить в форму средства перемещения по записям. В Visual FoxPro имеются удобные инструменты, предназначенные для этих целей, — кнопки.

Для размещения кнопок управления в форме можно использовать две кнопки панели инструментов Form Controls (Элементы управления формы) (табл. 6.11).

Таблица 6.11. Кнопки панели инструментов Form Controls

Кнопка

Наименование

Назначение

Command Button (Кнопка)

Создание одиночной кнопки

Command Group (Группа кнопок)

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

Размещение одиночных кнопок

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

  1. Нажмите кнопку Command Button (Кнопка) на панели инструментов Form Controls (Элементы управления формы) и щелкните мышью в месте предполагаемого размещения создаваемой кнопки.
  2. Откройте окно свойств созданного объекта.
  3. Кнопка может содержать текст или графическое изображение. При создании кнопки, содержащей текст, скорректируйте свойство Caption (Надпись), разместив в поле ввода значения текст, который будет отображаться на кнопке. Например, при создании кнопки для закрытия формы введите Выход.
  4. При создании кнопки, содержащей графическое изображение, для задания изображения, размещаемого на кнопке, воспользуйтесь свойством picture. Нажмите кнопку, расположенную справа от поля ввода значения свойства. В результате откроется диалоговое окно Open (Открыть) (рис. 6.18), используя которое, вы можете выбрать файл на диске, содержащий изображение. После выбора файла нажмите кнопку ОК для перенесения изображения на кнопку.
  5. Замечание
    В Visual FoxPro имеется возможность изменять размер диалогового окна Open (Открыть). Чтобы просмотреть изображение, содержащееся в выбираемом файле, необходимо в окне Open (Открыть) нажать кнопку меню Вид, а затем в открывшемся меню выбрать опцию Эскизы страниц.

    Рис. 6.18. Диалоговое окно Open, предназначенное для выбора изображения на кнопке

     

  6. Кнопка размещена в форме. Теперь необходимо, используя автоматически вызываемый при нажатии кнопки метод объекта click (Нажатие), определить действия, выполняемые при нажатии этой кнопки. Отобразите в окне свойств объекта список всех методов. Для этого в окне Properties (Свойства) выберите вкладку Methods (Методы).
  7. Установите курсор на метод click (Нажатие) и щелкните мышью. На экране откроется окно процедур (рис. 6.19).
  8. Введите команды, которые должны выполняться при нажатии данной кнопки. Например, если вы создаете кнопку для выхода из формы, это могут быть следующие команды, использующие функцию messagebox ():
  9. * Запрос для выхода из формы

    IF MESSAGEBOX("Выходить из формы?",4+32+256, "Выход")=6

    _screen.ActiveForm.Release()

    ELSE

    _screen.ActiveForm.Refresh))

    ENDIF

     

  10. Закройте окно процедур. Кнопка создана.

Рис. 6.19. Окно процедур для метода Click

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

Некоторые объекты Visual FoxPro, такие как commandGroup (Группа кнопок) и optionGroup (Переключатель), являются составными объектами, т. к. они содержат несколько объектов, имеющих свои собственные свойства.

Для работы с составными объектами Visual FoxPro предоставляет в распоряжение разработчика контекстное меню, содержащее команду Edit (Правка), переводящую объект в режим редактирования и позволяющую управлять входящими в его состав простыми объектами: перемещать их внутри рамки, изменять размеры, цвет, настраивать другие свойства. В режиме редактирования вокруг составного объекта появляется заштрихованная рамка (рис. 6.20).

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

Рис. 6.20. Объект CommandGroup в режиме редактирования

Создание группы кнопок

Для размещения в форме группы из нескольких кнопок можно использовать инструмент Command Group (Группа кнопок) на панели инструментов Form Controls (Элементы управления формы). Создаваемый при этом объект является составным и обладает свойством Buttcncount (Количество кнопок), определяющим количество входящих в его состав кнопок.

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

  1. Для создания набора кнопок нажмите кнопку Command Group (Группа кнопок) на панели инструментов Form Controls (Элементы управления формы) и щелкните в месте их предполагаемого размещения в форме.
  2. Откройте окно свойств для размещенного составного объекта.
  3. Свойство Buttoncount (Количество кнопок) объекта определяет количество кнопок, размещаемых в объекте (по умолчанию 2). Скорректируйте его, задав необходимое количество кнопок, например 5.
  4. Увеличьте с помощью мыши размеры рамки, окружающей созданный объект, чтобы в ней можно было расположить горизонтально все пять кнопок.
  5. Переведите объект в режим редактирования. Для этого установите на него курсор, нажмите правую кнопку мыши и выберите из контекстного меню команду Edit (Редактировать).
  6. Выделяя поочередно кнопки, переместите их, расположив горизонтально в одну линию.
  7. Выйдите из режима редактирования, щелкнув вне области объекта conunandGroup (Группа кнопок).
  8. Скорректируйте размер рамки, окружающей составной объект.
  9. Совет
    Для более точного задания размера рамки составного объекта выделите свойство AutoSize (Авторазмер) и установите для него значение True (Истина).

  10. Откройте окно свойств объекта типа commandGroup (Группа кнопок). Нажмите кнопку раскрытия списка в верхней части данного окна (рис. 6.21). Отметьте, что этот список содержит все объекты, размещенные в форме, а также все элементы, входящие в составной объект, под именами Command I, Command!, Command3, Command4, Command5. Выбирая поочередно элементы в этом списке, можно изменить свойства каждой кнопки.
  11. Используя свойство caption (Надпись) каждого элемента составного объекта, задайте названия кнопок: Первая, Следующая, Предыдущая, Последняя и Выход.
  12. Для задания цвета фона, на котором располагаются кнопки, используйте свойство BackColor (Цвет фона) объекта CommandGroup (Группа кнопок). Если вы хотите, чтобы он совпадал с цветом фона формы, установите для свойства BackStyle (Стиль фона) значение Transparent (Прозрачный).
  13. Рис. 6.21. Окно свойств объекта типа CommandGroup

     

  14. Теперь необходимо определить команды, которые будут выполняться при нажатии на данные кнопки. Для этого, открывая поочередно окно процедур метода click (Нажатие) каждого элемента, входящего в составной объект, введите следующие команды:
  15. Для кнопки Первая:

    * Переходим на первую запись и обновляем информацию в форме IF !BOF()

    GO TOP

    ENDIF '

    _screen.ActiveForm.Refresh()

    Для кнопки Следующая:

    * Переходим на следующую запись и обновляем в форме

    IF !EOF()

    SKIP ENDIF

    _screen.ActiveForm.Refresh))

    Для кнопки Предыдущая:

    * Переходим на предыдущую запись и обновляем информацию в форме

    IF !BOF()

    SKIP - 1 ENDIF _screen.ActiveForm.Refresh()

    Для кнопки Последняя:

    * Переходим на последнюю запись и обновляем информацию в форме

    IF !EOF ()

    GO BOTTOM

    ENDIF

    _screen.ActiveForm.Refresh()

    Для кнопки Выход:

    * Запрашиваем и выходим, если Да

    IF MESSAGEBOX("Выходить из формы?",4+32+256, "Выход")=6

    _screen.ActiveForm.Release()

    ELSE

    _screen.ActiveForm.Refresh()

    ENDIF

    Рис. 6.22. Форма с размещенной группой кнопок

     

  16. После ввода команд закройте окна процедур.
  17. Набор кнопок для перемещения по записям таблицы и выхода из формы создан. Запустите форму на выполнение по команде Run Form (Запустить форму) из меню Form (Форма). Для перемещения по записям таблицы и закрытия формы используйте кнопки, находящиеся в нижней части окна (рис. 6.22).
Назад Начало Вперед