Отображает и активизирует строку меню.
Синтаксис
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