Определяет, помечен ли заголовок меню на определяемой пользователем строке меню или на полосе системного меню Visual FoxPro.

MRKPAD(cMenuBarName, cMenuTitleName)

Параметры

cMenuBarName

Определяет имя строки меню, содержащей заголовок меню.
cMenuTitleName

Определяет имя заголовка меню.

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

Логическое

Замечания

Используйте SET MARK OF, чтобы отметить или снять выделение заголовка меню.

Если указанный заголовок меню отмечен, MRKPAD( ) возвращает истину (.T.); иначе, MRKPAD( ) возвращает ложь (.F)..

Пример

Следующий программный пример MARKPAD.PRG, использует MRKPAD( ), чтобы переключать символ метки заголовка меню, когда Вы его выбираете.

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

Несколько пунктов системного меню создаются командой DEFINE PAD. Когда Вы выбираете пункт меню, выполняется процедура choice . choice отображает имя пункта меню, который Вы выбрали и имя строки меню. SET MARK OF используется с MRKPAD( ), чтобы отобразить или удалить символ метки пункта меню. Если Вы выбираете меню Exit, первоначальное системное меню Visual FoxPro восстановливается.

Скопировать код
*** Name this program MARKPAD.PRG ***
CLEAR
SET SYSMENU SAVE
SET SYSMENU TO
SET MARK OF MENU _MSYSMENU TO CHR(4)
PUBLIC glMarkPad
glMarkPad = .T.
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 markpad WITH PAD( ), MENU( )
PROCEDURE choice
PARAMETER gcPad, gcMenu
WAIT WINDOW 'You chose ' + gcPad + ;
' from menu ' + gcMenu NOWAIT
SET MARK OF PAD (gcPad) OF _MSYSMENU TO ;
! MRKPAD('_MSYSMENU', gcPad)
glMarkPad= ! glMarkPad
IF gcPad = 'PADEXIT'
SET SYSMENU TO DEFAULT
ENDIF

См. Также