Команда ACTIVATE MENU

Отображает и активизирует строку меню.

Синтаксис

ACTIVATE MENU MenuBarName
	[NOWAIT]
	[PAD MenuTitleName]

Параметры
MenuBarName
Задает имя строки меню, которую предстоит активизировать.
NOWAIT
Указывает, что на этапе выполнения программа не будет ждать, пока пользователь выберет нужное меню из активной строки меню или нажмет клавишу Esc. Вместо этого программа продолжит выполнение. Меню, активизируемое с опцией NOWAIT, не будет при выдаче команды DEACTIVATE MENU возвращать управление в строку программы, следующую за командой ACTIVATE MENU.
PAD MenuTitleName
Задает имя заголовка меню, которое будет выбрано автоматически при активизации данной строки меню. Если имя заголовка меню не задано, по умолчанию выбирается первый заголовок меню в активизируемой строке меню.

Комментарии
Данная команда отображает и активизирует строку меню, заданную именем MenuBarName. Она работает совместно с командами DEFINE MENU и DEFINE PAD.
Совет Если вы включили в приложение системную строку меню Visual FoxPro (_MSYSMENU), активизировать меню нет необходимости. Вместо этого выдайте команду SET SYSMENU AUTOMATIC.

Пример

* Следующий пример использует ACTIVATE MENU для вывода и
* активизации системы меню, определенной пользователем. В начале
* строка текущего системного меню сохраняется в памяти с помощью SET
* SYSMENU SAVE, затем все заголовки системного меню удаляются с
* помощью SET SYSMENU TO.
* С помощью DEFINE PAD создаются два заголовка меню, а DEFINE POPUP
* используется для создания открывающегося меню для каждого
* заголовка. DEFINE BAR используется для создания элементов меню для
* каждого меню. Если выбрать заголовок меню, ON PAD использует
* ACTIVATE POPUP для активизации соответствующего меню. ACTIVATE
* MENU выводит и активизирует строку меню.
* При выборе из меню элемента меню выполняется процедура CHOICE.
* CHOICE выводит имя выбранного элемента и имя меню, содержащего
* элемент. 
*** Name this program ACTIMENU.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
ON KEY LABEL ESC KEYBOARD CHR(13)
DEFINE MENU example BAR AT LINE 1
DEFINE PAD convpad OF example PROMPT '\<Conversions' COLOR SCHEME 3 ;
	KEY ALT+C, ''
DEFINE PAD cardpad OF example PROMPT 'Card \<Info' COLOR SCHEME 3 ;
	KEY ALT+I, ''
ON PAD convpad OF example ACTIVATE POPUP conversion
ON PAD cardpad OF example ACTIVATE POPUP cardinfo
DEFINE POPUP conversion MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF conversion PROMPT 'Ar\<ea' ;
	KEY CTRL+E, '^E'
DEFINE BAR 2 OF conversion PROMPT '\<Length' ;
	KEY CTRL+L, '^L'
DEFINE BAR 3 OF conversion PROMPT 'Ma\<ss' ;
	KEY CTRL+S, '^S'
DEFINE BAR 4 OF conversion PROMPT 'Spee\<d' ;
	KEY CTRL+D, '^D'
DEFINE BAR 5 OF conversion PROMPT '\<Temperature' ;
	KEY CTRL+T, '^T'
DEFINE BAR 6 OF conversion PROMPT 'T\<ime' ;
	KEY CTRL+I, '^I'
DEFINE BAR 7 OF conversion PROMPT 'Volu\<me' ;
	KEY CTRL+M, '^M'
ON SELECTION POPUP conversion DO choice IN actimenu;
	WITH PROMPT( ), POPUP( )
DEFINE POPUP cardinfo MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF cardinfo PROMPT '\<View Charges' ;
	KEY ALT+V, ''
DEFINE BAR 2 OF cardinfo PROMPT 'View \<Payments' ;
	KEY ALT+P, ''
DEFINE BAR 3 OF cardinfo PROMPT 'Vie\<w Users' ;
	KEY ALT+W, ''
DEFINE BAR 4 OF cardinfo PROMPT '\-'
DEFINE BAR 5 OF cardinfo PROMPT '\<Charges ' ;
	KEY ALT+C, ''
ON SELECTION POPUP cardinfo;
	DO choice IN actimenu WITH PROMPT( ), POPUP( )

ACTIVATE MENU example
DEACTIVATE MENU example
RELEASE MENU example EXTENDED
SET SYSMENU TO DEFAULT
ON KEY LABEL ESC
PROCEDURE choice
PARAMETERS mprompt, mpopup
WAIT WINDOW 'You chose ' + mprompt + ' from popup ' + mpopup NOWAIT

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 11.11.2002