Возвращает имя активной строки меню в виде символьной строка верхнего регистра.

MENU( )

Возвращаемое значение

Символьное

Замечания

MENU( ) возвращает пустую строку, если никакое меню не активно. Используйте Проектировщик Меню для создания меню и его активирования.

Пример

Следующий пример использует MENU( ) для передачи имени строки меню в процедуру. Текущая полоса системного меню сохранена в памяти через SET SYSMENU SAVE , и все заголовки системного меню удалены командой SET SYSMENU TO .

Несколько заголовков системного меню созданы с помощью DEFINE PAD . Когда Вы выбираете заголовок меню, MENU( ) передает имя полосы системного меню Microsoft Visual FoxPro, _MSYSMENU, в процедуру выбора. Процедура выбора выводит имя заголовка меню, который Вы выбрали и имя полосы системного меню. Если Вы выбираете меню Exit, первоначальное системное меню Visual FoxPro восстанавливается.

Скопировать код
*** Save this program as MENUEXAM.PRG in the default VFP directory.***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
DEFINE PAD padSys OF _MSYSMENU PROMPT '\<System' COLOR SCHEME 3 ;
   KEY ALT+S, ''
DEFINE PAD padEdit OF _MSYSMENU PROMPT '\<Edit' COLOR SCHEME 3 ;
   KEY ALT+E, ''
DEFINE PAD padRecord OF _MSYSMENU PROMPT '\<Record' COLOR SCHEME 3 ;
   KEY ALT+R, ''
DEFINE PAD padWindow OF _MSYSMENU PROMPT '\<Window' COLOR SCHEME 3 ;
   KEY ALT+W, ''
DEFINE PAD padReport OF _MSYSMENU PROMPT 'Re\<ports' COLOR SCHEME 3 KEY ALT+P, ''
DEFINE PAD padExit OF _MSYSMENU PROMPT 'E\<xit' COLOR SCHEME 3 ;
   KEY ALT+X, ''
ON SELECTION MENU _MSYSMENU ;
   DO choice IN menuexam WITH PAD(), MENU()
PROCEDURE choice
PARAMETER gcPad, gcMenu
WAIT WINDOW 'You chose ' + gcPad + ;
   ' from menu ' + gcMenu NOWAIT
IF gcPad = 'PADEXIT'
   SET SYSMENU TO DEFAULT
ENDIF

См. Также