Программирование >>  Разработка пользовательского интерфейса 

1 ... 109 110 111 [ 112 ] 113 114 115 ... 147


Prnmpi Opiions

Сйшпиепс

ZI i ok

Cancel

Shortait... Vstip Fat


Г Pud

Имя меню

Пояснение для пользователя в строке состояния

Расположение команды при редаетировании OLE-объекта

Задание клавиатурной комбинации

Условие доступа к команде меню

Рис. 9.17.

Вы можете регулировать доступ к тем или иным командам меню с помощью поля проверки Skip For, находящегося в диалоговом окне Prompt Options. Если вы щелкнете на этом поле, появится уже знакомое вам окно Построителя выражения, в котором можно сформировать условие доступа к этой команде меню. Если условие будет равно .F., команда будет доступна, если .T. -недоступна. Наиболее часто эта возможность используется для регулирования доступа различных пользователей прикладной программы к тем или иным ее функциям.

В связи с тем, что Visual FoxPro поддерживает редактирование на месте OLE-объектов, с помощью поля проверки Negotiate мы можем для меню верхнего уровня указать, где меню будет располагаться после активизации OLE-сервера. По умолчанию действует установка None - меню убирается при редактировании OLE-объекта.

Для пояснения назначения той или иной команды меню с помощью поля проверки Message можно задать текст, который будет появляться в строке состояния. Для задания такого текста используется Построитель выражения. Если вы непосредственно набираете текст, не забудьте поместить его в кавычки.

В окне Prompt Options осталось еще одно поле проверки - Pad Name, о котором можно было бы ничего и не говорить, если бы мы не использовали русские заголовки для меню. При проектировании меню Конструктор автоматически присваивает имена меню на основании их заголовков. В то же время Visual FoxPro, как и его предшественники, на дух не переносит русских названий в меню. Не будем раздражаться по столь мелкому поводу, щелкнем на поле проверки Pad Name и изменим русское название на латинское.

Для выполнения каких-либо действий при выборе пользователем команд меню необходимо в колонке Result для каждой команды меню назначить команду Visual FoxPro, функцию или процедуру. Для назначения команды Visual FoxPro в столбце Result выберите пункт Command и наберите соответствующую команду в текстовом поле справа. Например, DO Log user. Если указанная в этой команде процедура находится в блоке Cleanup Конструктора меню (о нем мы расскажем чуть позднее), то команду следует записать в виде: DO Log user IN Main, где Main -

Наиболее часто выполняемым командам в меню можно присвоить клавиатурные комбинации. Для этого напротив соответствующего заголовка необходимо щелкнуть мышкой на кнопке в колонке Options. На экране появится диалоговое окно Prompt Options, с помощью которого для меню можно задать дополнительные условия. Внешний вид этого окна с необходимыми комментариями приведен на рис. 9.17. Щелкнем на поле проверки Shortcut, появится диалоговое окно Key Definition. Нажмем нужное сочетание клавиш. Их обозначение появится в поле Key Label. Символы в поле Key Text будут написаны рядом с командой меню, их можно отредактировать. Командам меню принято присваивать клавиатурные комбинации, начинающиеся с клавиши Ctrl. В клавиатурных комбинациях Visual FoxPro использует скан-код клавиши, поэтому не имеет значения текущий регистр и не важно, включена ли русская или латинская раскладка клавиатуры. Если вы используете знаки \<< для меню верхнего уровня, Visual FoxPro автоматически поместит в поле Key Label сочетание клавиш Alt и выделенной этими знаками буквы. Если буква русская, при запуске меню произойдет ошибка. Поэтому надо открыть окно Key Definition и вручную в поле Key Label исправить русскую букву на соответствующую той же клавише латинскую.

Поле для записи комментария программиста



Qurirnl 0(Гпч-,

3 С сй

LocsliDnr

Men J Cnde:

r Altof

MecTTcipacnancweHirfQ проектируемого меню после eno запуска

Блек устанйаочного кода для системы меню

и блок записи процедур Рис. 9.18.

Кнопка Replace - заменяет существующую систему меню.

Кнопка Append - добавляет данное меню к существующей системе.

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

это имя файла меню.

Для задания при выборе команды меню выполнения какой-либо процедуры, в случае, когда меню не имеет подменю, необходимо в колонке Result выбрать пункт Procedure. Щелкнуть на кнопке Create и в появившемся окне поместить необходимый код.

В ряде случаев с помощью команд меню могут выполняться какие-то сходные для всех команд этого меню действия, не требующие написания большого объема кода. В этом случае мы можем задать при выборе команды меню выполнение одной процедуры для меню, имеющего подменю. Для этого все команды меню должны в колонке Result иметь пункт Bar#, который не предусматривает привязки к команде какого-то действия. В списке Menu Level выберем соответствующий уровень меню. Из меню View Visual FoxPro выберем команду Menu Options, после чего на экране появится одноименное диалоговое окно. Нажмем кнопку Edit и наберем код в соответствии с приведенным ниже шаблоном:

<<Код, выполняемый при выборе любой из команд>>

DO CASE

CASE BAR() = 1

<<Код, выполняемый для первой команды в меню>>

CASE BAR() = 2

<< Код, выполняемый для второй команды в меню>>

ENDCASE

Функция BAR() возвращает номер выбранной команды меню. Вы можете при необходимости присвоить свои номера командам меню, использовав поле справа от колонки Result.

Общие установки для системы меню можно выполнить, выбрав из меню View Visual FoxPro команду General Options. После появления диалогового окна с таким же названием, приведенного на рис. 9.18, можно написать программный код, который будет выполняться перед расположением меню на экране, выбрав поле проверки Setup. Процедуры, которые вы используете для выполнения команд меню, и действия, которые необходимо выполнить после исчезновения меню с экрана, можно записать, выбрав поле проверки Cleanup. С помощью группы кнопок выбора Location можно задать условия расположения меню после его запуска:



Построитель меню

Изменение меню

ИзменЛВЯ

Создать


Удалить

Отмена

Рис. 9.19.

После выбора команды Создать путем нажатия кнопки с одноименным заголовком, возникает диалог, предлагающий выбрать шаблон для будущего меню. Если предполагается внести небольшие косметические изменения в стандартную линейку меню, то имеет смысл выбрать именно ее. Например, если при работе с формой вам нужно добавить один пункт в стандартную линейку меню, то, по-видимому, имеет смысл ее же и выбрать в качестве шаблона, как это показано на рис. 9.20.

После запуска пользовательского меню вернуться к главному меню Visual FoxPro можно с помощью команды SET SYSMENU TO DEFAULT.

Если ваша пользовательская программа будет работать в виде самостоятельного модуля (EXE-файл) и вы планируете использовать меню в качестве главной программы вашего приложения, разместите команду READ EVENTS в блоке процедур Cleanup, а для команды меню, обеспечивающей прекращение работы приложения, задайте команду CLEAR EVENTS.

Разработка меню в Access

Для создания меню в Access используются два способа. Первый способ - это использование надстройки Построитель меню. Второй - использование Конструктора макросов. Первый способ наглядней и проще, но в итоге вы получаете тот же набор макросов, записанных с определенными параметрами и аргументами. Любое построенное меню вы можете подключить к любой форме или отчету с помощью свойства формы (отчета) Строка меню. Таким образом, в вашем приложении при переключении с одной формы на другую на экране будет отображаться меню, необходимое для решения данной задачи.

Вызовите надстройку Построитель меню с помощью команды Надстройка меню Сервис. На экране появится диалоговое окно, в котором вам будет предложено отредактировать уже существующее, создать новое или даже удалить существующее меню, как это показано на рис.

9.19.



1 ... 109 110 111 [ 112 ] 113 114 115 ... 147

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика