Для задания параметров пункта меню используется диалоговое окно Prompt Options (Опции элемента меню) (рис. 11.6). Для открытия этого окна установите в конструкторе курсор на пункт меню и нажмите появившуюся в строке кнопку Options (Опции).
Рис. 11.6. Диалоговое окно Prompt Options
В диалоговом окне Prompt Options (Опции элемента меню) содержится область Shortcut (Всплывающее меню) для задания клавиш быстрого вызова, а также поля ввода (табл. 11.3).
Таблица 11.3. Назначение полей ввода диалогового окна Prompt Options
Поле ввода | Назначение |
Skip For {Пропустить для) | Позволяет заблокировать пункт меню |
Message (Сообщение) | Позволяет задать сообщение, которое будет отображаться в строке состояния при выборе пункта меню |
Pad Name (Имя пункта меню) | Задает имя пункта меню |
Comment (Комментарий) | Задает комментарий к пункту меню |
Область Negotiate (Соглашение) содержит два раскрывающихся списка, имеющих следующее назначение:
Определение клавиш быстрого вызова пунктов меню
Помимо "горячих" клавиш, в создании которых используются только символы текста меню, в Visual FoxPro можно определить для каждого пункта меню клавиши быстрого вызова пунктов меню. В качестве такой клавиши могут использоваться символы, функциональные клавиши, комбинации клавиш. Примером клавиши ускоренного действия в программе Visual FoxPro является функциональная клавиша <F1>, используемая для вызова справочной системы. При нажатии на клавишу, определенную в качестве клавиши ускоренного действия, активизируется связанный с ней пункт меню без предварительного отображения самого меню.
Рассмотрим последовательность действий по определению клавиши быстрого вызова пункта меню справочной системы приложения.
Рис. 11.7. Определение клавиши быстрого вызова для пункта меню Справка
Формирование сообщения для пункта меню
Используя поле ввода Message (Сообщение) диалогового окна Prompt Options (Опции элемента меню), вы можете определить для пункта меню сообщение, которое будет отображаться в строке состояния при установке на него курсора. В качестве сообщения можно использовать не только строку текста, но и произвольное символьное выражение. В этом случае нажмите кнопку вызова конструктора выражения, расположенную с правой стороны поля, и в открывшемся диалоговом окне Expression Builder (Построитель выражения) создайте необходимое выражение.
Определим сообщение для пункта меню Справка. Для этого выполните следующие действия:
Замечание
Введенную строку текста не забудьте поместить в кавычки.
Рис. 11.8. Определение сообщения для пункта меню Справка
Аналогичным образом вы можете определить сообщения для остальных пунктов меню. На рис. 11.9 показан результат вывода сообщения в строке состояния.
Рис. 11.9. Отображение в строке состояния сообщения для пункта меню
Блокирование команд меню
Иногда возникает необходимость сделать какой-либо пункт меню недоступным для пользователя. Например, вы можете использовать условие блокировки для ограничения доступа определенных пользователей к отдельным пунктам меню. Или рассмотрим еще такую ситуацию. Ваша система уже эксплуатируется пользователями, но не все пункты меню завершены. При их выборе на экране появляются сообщения об ошибках. Пользователь начинает нервничать. В этом случае вы можете задать для незавершенных пунктов меню условие блокировки. Чтобы определить условия блокировки, выполните следующие действия:
Замечание
Задавая условия блокировки, вы можете ввести любое допустимое логическое выражение. При вводе простого выражения, не требующего использования функций конструктора выражений, введите формируемое выражение в поле Skip For (Пропустить для) диалогового окна Prompt Options (Опции элемента меню).
Когда значение выражения, заданное в условии блокировки, является истинным, пункт меню становится недоступным.
В режиме просмотра вы не увидите, что пункт меню заблокирован. Чтобы убедиться в правильно созданной блокировке, вам необходимо созданное в конструкторе меню сгенерировать и полученную в результате программу запустить на выполнение.
Присвоение имени пункту меню
По умолчанию при генерации программы Visual FoxPro в качестве имен пунктов меню создает уникальные имена. Для повышения читабельности программы можно определить эти имена явным образом, используя поле ввода Pad Name (Имя пункта меню) диалогового окна Prompt Options (Опции элемента меню).
На рис. 11.10 приведено диалоговое окно Prompt Options (Опции элемента меню) для пункта меню Справка с определенным для него именем пункта меню, сообщением в строке состояния и условием блокировки.
Рис. 11.10. Диалоговое окно Prompt Options для пункта меню Справка