« Назад
Приведены в табл. 11.1.
Таблица 11.1
Команды и функции
Команда / функция
|
Описание
|
Команды
|
ACTIVATE MENU | POPUP
|
Отображает и активизирует горизонтальное | вертикальное меню
|
CLEAR MENUS | POPUPS
|
Удаляет из памяти определения всех горизонтальных | вертикальных меню
|
CREATE MENU
|
Открывает проектировщик меню для создания меню
|
DEACTIVATE MENU | POPUP
|
Делает неактивным и невидимым пользовательское горизонтальное | вертикальное меню; в памяти определение меню сохраняется
|
DEFINE MENU | POPUP
|
Создает горизонтальное | вертикальное меню
|
DEFINE PAD | BAR
|
Создает пункт меню в горизонтальном | вертикальном меню, созданным DEFINE MENU | POPUP
|
EXTERNAL MENU
|
Предупреждает диспетчер проекта о внешней ссылке (внешнем меню)
|
HIDE MENU | POPUP
|
Скрывает одно или более пользовательских горизонтальных | вертикальных меню
|
MODIFY MENU
|
Открывает проектировщик меню для создания нового или изменения существующего меню
|
MOVE POPUP
|
Перемещает пользовательское вертикальное меню
|
ON PAD | BAR
|
Задает горизонтальное | вертикальное меню, активизируемое при выборе указанного пункта горизонтального | вертикального меню
|
ON SELECTION PAD | BAR
|
Задает команду, выполняемую при выборе указанного пункта заданного или любого горизонтального | вертикального меню
|
ON SELECTION MENU | POPUP
|
Задает команду, выполняемую при выборе любого пункта заданного или любого горизонтального | вертикального меню
|
POP MENU | POPUP
|
Достает определение горизонтального | вертикального меню из стека, помещенное в него командой PUSH MENU | POPUP
|
PUSH MENU | POPUP
|
Помещает в стек определение горизонтального | вертикального меню
|
RELEASE PAD | BAR
|
Удаляет из памяти заданный или все пункты горизонтального | вертикального меню
|
RELEASE MENUS | POPUPS
|
Удаляет из памяти пользовательские горизонтальные | вертикальные меню
|
SET MARK OF MENU
|
Задает, отображает или стирает маркер (один символом) пункта меню
|
SET SKIP OF
|
Активизирует или делает неактивным меню или его пункт; употребляется как для пользовательского, так и системного меню VFP
|
SET SYSMENU
|
Активизирует или делает неактивным системное меню VFP во время исполнения программы и позволяет изменять его конфигурацию
|
SHOW MENU | POPUP
|
Отображает одно или более пользовательских горизонтальных | вертикальных меню
|
SIZE POPUP
|
Изменяет размер вертикального меню
|
Функции
|
BAR( )
|
Возвращает номер последнего выбранного пункта вертикального пользовательского меню или меню VFP
|
CNTBAR( )
|
Возвращает число пунктов вертикального пользовательского меню или меню VFP
|
CNTPAD( )
|
Возвращает число пунктов горизонтального пользовательского меню или горизонтального меню VFP
|
GETBAR( )
|
Возвращает номер пункта вертикального пользовательского меню или меню VFP
|
GETPAD( )
|
Возвращает заголовок пункта горизонтального меню
|
MRKBAR( )
|
Определяет, имеет ли маркер пункт вертикального пользовательского меню или меню VFP
|
MRKPAD( )
|
Определяет, имеет ли маркер пункт горизонтального пользовательского меню или меню VFP
|
PAD( )
|
Возвращает в верхнем регистре заголовок последнего выбранного пункта горизонтального меню или возвращает .T., если заданный заголовок имеется в горизонтальном меню, или .F. – в противном случае
|
PROMPT( )
|
Возвращает заголовок выбранного пункта горизонтального или вертикального меню
|
POPUP( )
|
Возвращает имя активного вертикального меню или логическую величину, указывающую, определено ли вертикальное меню с заданным именем
|
PRMBAR( )
|
Возвращает заголовок пункта вертикального меню
|
PRMPAD( )
|
Возвращает заголовок пункта горизонтального меню
|
SKPBAR( )
|
Определяет, доступен или недоступен пункт вертикального меню
|
SKPPAD( )
|
Определяет, доступен или недоступен пункт горизонтального меню
|
SYS(1500)
|
Активизирует пункт системного меню VFP
|
SYS(2013)
|
Возвращает строку, содержащую внутренние имена системного меню VFP; в качестве разделителей между именами используется пробел. Само системное меню VFP имеет имя _MSYSMENU; имена подменю системного меню VFP и их пунктов приведены в табл. 11.3 и 11.4
|
SYS(2015)
|
Возвращает 10-символьное уникальное имя процедуры, начинающееся со знака подчеркивания; используется, в частности, генератором меню
|
Системная переменная
|
_GENMENU
|
Хранит имя файла с программой, выполняющей генерацию меню
|
Пример. Создается пользовательское меню Example. Текущее системное меню сохраняется командой SET SYSMENU SAVE, а затем очищается командой SET SYSMENU TO.
Команда DEFINE MENU создает горизонтальное меню, а команды DEFINE PAD – его 2 пункта. Команда DEFINE POPUP употребляется дважды, создавая для каждого пункта горизонтального меню соответствующее вертикальное меню. Команды DEFINE BAR создают пункты в вертикальных меню. Каждое вертикальные меню активизируются при выборе соответствующего пункта горизонтального меню благодаря команде ON PAD, использующей ACTIVATE POPUP.
При выборе пункта вертикального меню ON SELECTION POPUP обеспечивает печать заголовка пункта и имени вертикального меню.
set sysmenu save
set sysmenu to
&&
define menu Example
&&
define pad Convpad of Example prompt 'Условия' color scheme 3
define pad Cardpad of Example prompt 'Информация' color scheme 3
on pad ConvPad of Example activate popup Conversion
on pad CardPad of Example activate popup CardInfo
&&
define popup Conversion margin relative color scheme 4
define bar 1 of Conversion prompt 'Площадь' key Ctrl+R, '^R'
define bar 2 of Conversion prompt 'Длина' key Ctrl+N, '^N'
define bar 3 of Conversion prompt 'Масса' key Ctrl+M, '^M'
&&
on selection popup Conversion do Choice with Prompt( ), Popup( )
&&
define popup Cardinfo margin relative color scheme 4
define bar 1 of Cardinfo prompt 'Просмотр модели' key Alt+L, 'Alt+L'
define bar 2 of Cardinfo prompt 'Список параметров' key Alt+O, 'Alt+O'
&&
on selection popup Cardinfo do Choice with Prompt( ), Popup( )
&&
&& Активизированное меню Example приведено на рис. 11.1
activate menu Example
deactivate menu Example
&& Освобождаем меню и все ассоциированные с ним подменю и команды
release menu Example extended
&& Восстанавливаем системное меню
set sysmenu to default
procedure Choice
parameters mPrompt, mPopup
wait window 'Команда ' + mPrompt ;
+ ' выбрана из вертикального меню ' + mPopup nowait
endProc
Рис. 11.1. Пользовательское меню Example
|