Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VisualFoxPro.doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

11.2. Применение меню

11.2.1. Проектировщик меню

Меню создаются интерактивно в проектировщике меню, либо программно.

Команда

CREATE MENU [FileName | ?] [NOWAIT] [SAVE] [WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN

открывает проектировщик меню для создания меню. Файл FileName меню по умолчанию получает расширение MNX; сопутствующий memo-файл меню – расширение MNT.

Опции и параметры см. в табл. 1.6.

После вызова команды появится приведенный на рис. 11.2. диалог, в котором выбирается либо обычное, либо короткое (Shortcut) меню.

Рис. 11.2. Выбор вида меню

При активизации обычное меню располагается на месте системного меню VFP: либо взамен него, либо вместе с ним, а короткое меню после вызова появляется в точке расположения указателя мыши.

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

Команда

MODIFY MENU [FileName | ?] [NOWAIT] [SAVE] [WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN

открывает проектировщик меню для создания нового или изменения существующего меню.

Опции и параметры см. в табл. 1.6.

Также проектировщик меню будет открыт, если выполнить команду меню VFP File – New и появившемся диалоге, активизировав переключатель Menu, нажать New file и выбрать Menu или Shortcut.

11.2.2. Создание меню средствами проектировщика

Создадим меню, обеспечивающее вызов рассмотренных в гл. 10 форм.

На уровне Menu Bar (рис. 11.3) определим 2 подменю с заголовками "Формы" и "Взаимодействие форм" и одну вызываемую при выборе пункта "Закончить" процедуру со следующим кодом:

&& Процедура пункта "Закончить" проектируемого меню

release noFormsFound, aFormNames

set sysmenu to default && Возвращаемся к системному меню

Рис. 11.3. Фрагмент проектировщика меню

Смысл имеющихся в процедуре переменных noFormsFound, aFormNames поясним ниже.

Выделим подменю "Формы" и нажмем на кнопку в столбце Options. В появившемся диалоге (рис. 11.4) определим сочетание клавиш-ускорителей, раскрывающих это подменю, например Alt+F.

Рис. 11.4. Фрагмент диалога Prompt Options

Такое дополнение обязательно, поскольку заголовок подменю написан по-русски и при генерации меню в качестве ускорителя будут указаны для подменю "Формы" клавиши Alt+Ф, что недопустимо: наличие русской буквы в ускорителе вызовет ошибку.

Аналогичные действия проведем и в отношении иных пунктов рассматриваемого уровня меню.

Кроме того, в поле Skip For диалога Prompt Options укажем имя переменной noFormsFound. Ее эффект следующий: если значение noFormsFound равно .T., то подменю "Формы" окажется недоступным, и будет доступным – в противном случае.

Значение переменной noFormsFound мы определим в Setup-коде меню, выполняемом перед открытием меню.

Определенный в поле Message текст "Вызов пробных форм" будет появляться в статус-строке главного окна VFP при выборе подменю "Формы".

Вновь выберем подменю "Формы" и нажмем на кнопку Create (рис. 11.5).

Рис. 11.5. Создание подменю "Формы"

В появившееся диалоге определим 3 команды (рис. 11.6), открывающие различные формы.

Рис. 11.6. Проектирование подменю "Формы"

Посредством кнопки в столбце Option для каждой из команд определим в поле Skip For диалога Prompt Options условие ее недоступности (табл. 11.2).

Таблица 11.2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]