Горизонтальное меню, расположенное в верхней части экрана, называется строкой меню. Примером строки меню является основное меню Visual FoxPro. Тем не менее можно создать собственную строку меню, замещающую главное меню или добавляемую к нему.
Рис 9.1 Пример строки меню
Для создания строки меню необходимо выполнить следующие действия:
Открыть окно конструктора меню
Описать пункты меню
Отобразить строку меню на экране
Определить действия, выполняемые при выборе пункта меню
Для реализации первых этапов необходимо в окне проекта перейти на вкладку Other и выбрать пункт Menus. Затем, после нажатия кнопки New окна проекта на экране открывается диалоговое окно New Menu. Данное диалоговое окно предлагает два варианта создаваемого меню:
· Menu – создание меню в виде строки
· Shortcut – создание всплывающего меню, в котором основные пункты меню расположены вертикально
Рис 9.2 Варианты создаваемого меню
При выборе любого из вариантов открывается окно конструктора меню, а в основное меню FoxPro добавляется новый пункт Menu.
Для использования в приложении описания меню, созданного с помощью конструктора, необходимо предварительно сгенерировать из него программу на языке FoxPro, используя команду Menu – Generate.
Рис 9.3 Окно конструктора меню
Для определения текстов пунктов строки меню необходимо предварительно нажать кнопку Insert и ввести текст в поле Prompt. Для определения типа пункта меню требуемый тип выбирается из списка Result. Возможные типы пунктов меню:
· Command – при выборе пункта меню будет выполняться, связанная с ним команда;
· Pad name – дополнительное пояснение к меню;
· Submenu – раскрывается, связанное с данным пунктом ниспадающее меню;
· Procedure – вызывается определенная для данного пункта процедура.
Сохранить меню можно путем выполнения команды: File – Save as – Save Menu.
Затем меню необходимо снова сгенерировать командой Menu –Generate. После завершения генерации можно запустить программу меню командой Program – Do и выбрав в открывшемся диалоговом окне Do имя файла с расширением .mpr. На экране главное меню заменится вновь созданным.