Использование кнопочной формы

Обычно для работы с приложением создают специальную форму, которая носит название Главная кнопочная форма (Main Switchboard) и содержит кнопки, позволяющие выбирать основные функции или подсистемы приложения. Такую форму можно создать, как обычно, с помощью Конструктора форм, а можно использовать специальный мастер, который называется Диспетчер кнопочных форм (Swithboard Manager). В базе данных "Борей" создана Главная кнопочная форма (Main Switchboard) без применения мастера. Давайте посмотрим, как аналогичную форму создать с помощью Диспетчера кнопочных форм.

Выберите команду меню Сервис, Служебные программы, Диспетчер кнопочных форм (Tools, Database Utilities, Swithboard Manager).

Поскольку база данных не содержит кнопочных форм (по крайней мере, известных мастеру), выдается диалоговое окно, запрашивающее, нужно ли создавать кнопочную форму. Нажмите кнопку Да (Yes).

Теперь мастером создается таблица "Элементы кнопочной формы" (Switchboard Items) и кнопочная форма (Switchboard), которые мы рассмотрим позднее. После этого появляется диалоговое окно со списком страниц кнопочной формы (рис. 14.15).

Диалоговое окно Диспетчер кнопочных форм

Рис. 14.15. Диалоговое окно Диспетчер кнопочных форм

В этом окне перечисляются все страницы кнопочной формы (их может быть несколько). Пока создана только одна страница, и мы видим ее в списке. Чтобы создать на ней нужные кнопки, нажмите кнопку Изменить (Edit). Открывается диалоговое окно Изменение страницы кнопочной формы (Edit Switchboard Page) (рис. 14.16), содержащее список элементов формы.

Диалоговое окно Изменение страницы кнопочной формы

Рис. 14.16. Диалоговое окно Изменение страницы кнопочной формы

В этом окне можно добавлять, изменять и удалять элементы выбранной страницы формы. Можно также менять порядок их размещения на странице (с помощью кнопок Вниз (Move down) и Вверх (Move up)).

В поле Название кнопочной формы (Swithboard Name) мы можем изменить стандартное название, если это необходимо. Список элементов формы пока пуст и доступна только одна кнопка Создать (New). Чтобы создать первый элемент, нажмите данную кнопку. Появляется диалоговое окно Изменение элемента кнопочной формы (Edit Switchboard Item) (рис. 14.17).

Изменение элемента кнопочной формы

Рис. 14.17. Изменение элемента кнопочной формы

В поле Текст (Text) введите наименование создаваемой кнопки, например Товары. Второе поле Команда (Command) позволяет определить действие, которое будет" выполняться после нажатия данной кнопки. Список этих действий представлен на рис. 14.17. Их всего 8. Это может быть открытие формы в режиме добавления записей или редактирования, открытие отчета, запуск макроса или процедуры VPA, запуск мастера для редактирования кнопочной формы, переход к другой кнопочной форме и .выход из приложения. Выберем, например, Открыть форму для измения (Open Form in Edit Mode). Тогда в следующем поле нужно ввести имя открываемой формы "Список товаров" (Products) (рис. 14.18) и нажать кнопку ОК.

Замечание

Название последнего поля в форме на рис. 14.18 изменяется в зависимости от выбранной команды во втором поле. Если выбранное в списке действие не требует задания аргумента, третье поле вообще исчезает.

Диалоговое окно Изменение элемента кнопочной формы

Рис. 14.18. Диалоговое окно Изменение элемента кнопочной формы

Аналогично добавим кнопки для других объектов приложения: "Типы" (Categories), "Поставщики" (Suppliers), "Заказы" (Orders). Создадим кнопку Отчеты, которая будет открывать форму "Отчеты о продажах" (Sales Reports Dialog) и кнопку выхода из приложения Выход. Закроем диалоговое окно Изменение страницы кнопочной формы (Edit Switchboard Page), нажав кнопку Закрыть (Close).

Количество кнопок на одной странице формы ограничено числом 8. Это не значит, что их нельзя создать больше, просто это придется делать вручную. Однако есть другой способ преодолеть это ограничение. Если число действий, которые хотелось бы разместить на кнопки, превышает 8, можно сгруппировать часть действий на отдельной странице кнопочной формы. Для примера давайте создадим еще одну страницу нашей кнопочной формы и разместим на ней кнопки действий с клиентами. Для этого в диалоговом окне Диспетчер кнопочных форм (Switchboard Manager) нажмите кнопку Создать (New). В появившемся диалоговом окне (рис. 14.19) введите имя новой страницы Клиенты и нажмите кнопку ОК.

Диалоговое окно ввода имени новой страницы

Рис. 14.19. Диалоговое окно ввода имени новой страницы

Далее в редакторе страниц уже известным способом создадим элементы: Клиенты, Наклейки для клиентов, Телефоны клиентов, Заказы клиентов, которые открывают соответствующие формы. Не забудьте создать кнопку, которая позволит вернуться в Главную кнопочную форму (Main Switchboard). Для этого нужно связать с ней команду Перейти к кнопочной форме (Go to Switchboard) (рис. 14.20). Закройте это окно, чтобы вернуться к диалоговому окну Диспетчер кнопочных форм (Switchboard Manager). В списке страниц у вас должны появиться две страницы.

Теперь нужно отредактировать первую страницу — добавить к ней элемент, с помощью которого можно будет перейти на вторую страницу. Для этого выделите в списке страницу Главная кнопочная форма (Main Switchboard) и нажмите кнопку Изменить (Edit). В окне редактора страниц добавьте новый элемент Клиенты, также используя команду Перейти к кнопочной форме (Go to Switchboard).

Добавление ссылки на главную страницу кнопочной формы

Рис. 14.20. Добавление ссылки на главную страницу кнопочной формы

Теперь обе страницы оказались связанными. Можно закрыть окно мастера и посмотреть, что у нас получилось, открыв форму "Кнопочная форма" (Switchboard). Должно появиться окно, похожее на то, что представлено на рис. 14.21.

Главная кнопочная форма

Рис. 14.21. Главная кнопочная форма

Вы можете проверить, как действуют кнопки. Например, если нажать кнопку Клиенты, содержание формы изменится, и вы увидите вторую страницу формы. Форма выглядит не слишком привлекательно, но теперь вы можете перейти в режим Конструктора и оформить ее внешний вид, применив все средства Конструктора.

Открыв эту форму в режиме Конструктора, вы не увидите ее элементов, форма кажется совсем пустой. Однако, если вы откроете модуль, связанный с этой формой, то увидите достаточно большой объем кода, который и организует работу формы должным образом. Причем для этого используется информация, хранящаяся в специальной таблице, о которой мы упоминали в начале раздела: Switchboard Items (Элементы кнопочной формы). Вы увидите эту таблицу в списке Таблицы (Tables) окна База данных (Database). В этом случае она будет выглядеть примерно так, как показано на рис. 14.22.

Таблица "Элементы кнопочной формы"

Рис. 14.22. Таблица "Элементы кнопочной формы"

Первый столбец содержит идентификатор страницы, второй — номер элемента на странице. Этот номер определяет порядок, в котором будут располагаться элементы на странице. Третий столбец содержит текст, появляющийся справа от кнопки. Последние два столбца определяют команду, связанную с элементом: код команды (как мы помним, их 8) и ее аргумент. Код 0 соответствует специальному элементу, который задает заголовок страницы и определяет ее начало.

Таким образом, с помощью Диспетчера кнопочных форм (Switchboard Manager) можно создать иерархическую систему страниц кнопочной формы, которая может быть альтернативой обычному иерархическому меню. Правда, в отличие от меню эта форма не видна постоянно на экране, она может закрываться другими формами. Если вы хотите обеспечить возможность пользователю открывать сразу несколько форм и отчетов, вам придется сделать кнопку на панели инструментов, которая позволяла бы в любой момент отобразить Главную кнопочную форму (Main Switchboard).