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

         

Задание параметров пункта меню в диалоговом окне Prompt Options

Для задания параметров пункта меню используется диалоговое окно 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 (Соглашение) содержит два раскрывающихся списка, имеющих следующее назначение:

  • Container (Контейнер) — определяет расположение меню при редактировании по месту OLE-объектов;
  • Object (Объект) — задает расположение меню при выполнении приложения типа Active Document в Web-браузере.

Область Picture (Изображение) позволяет разместить слева от текста пункта меню графическое изображение. Расположенные в ней объекты интерфейса доступны при определении подпунктов меню.

Определение клавиш быстрого вызова пунктов меню

Помимо "горячих" клавиш, в создании которых используются только символы текста меню, в Visual FoxPro можно определить для каждого пункта меню клавиши быстрого вызова пунктов меню. В качестве такой клавиши могут использоваться символы, функциональные клавиши, комбинации клавиш. Примером клавиши ускоренного действия в программе Visual FoxPro является функциональная клавиша <Fl>, используемая для вызова справочной системы. При нажатии на клавишу, определенную в качестве клавиши быстрого вызова, активизируется связанный с ней пункт меню без предварительного отображения самого меню.

Рассмотрим последовательность действий по определению клавиши быстрого вызова пункта меню справочной системы приложения:

  1. В конструкторе меню установите курсор на пункт меню Справка.
  2. Нажмите кнопку Options (Опции).
  3. В открывшемся диалоговом окне Prompt Options (Опции элемента меню) в области Shortcut (Всплывающее меню) поле Key Label (Метка) содержит подсказку press the key (нажмите клавишу). Установите курсор в поле Key Label (Метка) и нажмите клавишу или комбинацию клавиш, используемую в качестве клавиши быстрого вызова, и в поле появится метка, соответствующая нажатым клавишам. В поле ввода Key Text (Пояснение) вы можете ввести краткое пояснение к определяемой клавише. Для пункта меню Справка нажмите клавишу <F1> клавиатуры. В поле Key Text (Пояснение) по умолчанию будет введено F1 (рис. 11.7). Оставьте это значение.
  4. Нажмите кнопку ОК для закрытия диалогового окна.

Рис. 11.7. Определение клавиши быстрого вызова для пункта меню Справка

Формирование сообщения для пункта меню

Используя поле ввода Message (Сообщение) диалогового окна Prompt Options (Опции элемента меню), вы можете определить для пункта меню сообщение, которое будет отображаться в строке состояния при установке на него курсора. В качестве сообщения можно использовать не только строку текста, но и произвольное символьное выражение. В этом случае нажмите кнопку вызова конструктора выражения, расположенную с правой стороны поля, и в открывшемся диалоговом окне Expression Builder (Построитель выражения) создайте необходимое выражение.

Определим сообщение для пункта меню Справка. Для этого выполните следующие действия:

  1. Нажмите кнопку Options (Опции) для пункта меню Справка.
  2. В открывшемся диалоговом окне Prompt Options (Опции элемента меню) нажмите кнопку вызова построителя выражения для поля Message (Сообщение).
  3. В поле Message (Сообщение) построителя выражении введите строку текста "Вызов справочной системы".
  4. Замечание
    Введенную строку текста не забудьте поместить в кавычки.

  5. Нажмите кнопку ОК для закрытия диалогового окна Expression Builder (Построитель выражения). Вы оказываетесь в окне Prompt Options (Опции элемента меню). Введенное вами выражение размещено в поле Message (Сообщение) (рис. 11.8).
  6. Нажмите кнопку ОК.

Рис. 11.8. Определение сообщения для пункта меню Справка

Аналогичным образом вы можете определить сообщения для остальных пунктов меню. На рис. 11.9 показан результат вывода сообщения в строке состояния.

Рис. 11.9. Отображение в строке состояния сообщения для пункта меню

Блокирование команд меню

Иногда возникает необходимость сделать какой-либо пункт меню недоступным для пользователя. Например, вы можете использовать условие блокировки для ограничения доступа определенных пользователей к отдельным пунктам меню. Или рассмотрим еще такую ситуацию. Ваша система уже эксплуатируется пользователями, но не все пункты меню завершены. При их выборе на экране появляются сообщения об ошибках. Пользователь начинает нервничать. В этом случае вы можете задать для незавершенных пунктов меню условие блокировки. Чтобы определить условия блокировки. выполните следующие действия:

  1. Нажмите кнопку Options (Опции) для пункта меню, который хотите заблокировать.
  2. В открывшемся диалоговом окне Prompt Options (Опции элемента меню) нажмите кнопку вызова построителя выражения для поля Skip For (Пропустить для).
  3. Введите .Т. в поле Skip For (Пропустить для) построителя выражений.
  4. Нажмите кнопку ОК для закрытия диалогового окна Expression Builder (Построитель выражения). Вы оказываетесь в окне Prompt Options (Опции элемента меню).
  5. Замечание
    Задавая условия блокировки, вы можете ввести любое допустимое логическое выражение. При вводе простого выражения, не требующего использования функций конструктора выражений, введите формируемое выражение в поле Skip For (Пропустить для) диалогового окна Prompt Options (Опции элемента меню).

  6. Нажмите кнопку ОК для его закрытия.

Когда значение выражения, заданное в условии блокировки, является истинным, пункт меню становится недоступным.

В режиме просмотра вы не увидите, что пункт меню заблокирован. Чтобы убедиться в правильно созданной блокировке, вам необходимо созданное в конструкторе меню сгенерировать и полученную в результате программу запустить на выполнение.

Присвоение имени пункту меню

По умолчанию при генерации программы Visual FoxPro в качестве имен пунктов меню создает уникальные имена. Для повышения читабельности программы можно определить эти имена явным образом, используя иоле ввода Pad Name (Имя пункта меню) диалогового окна Prompt Options (Опции элемента меню).

Рис. 11.10. Диалоговое окно Prompt Options для пункта меню Справка

На рис. 11.10 приведено диалоговое окно Prompt Options (Опции элемента меню) для пункта меню Справка с определенным для него именем пункта меню, сообщением в строке состояния и условием блокировки.

Содержание раздела