Определяет, помечен ли заголовок меню в строке меню, определенной пользователем, или в системной строке меню Visual FoxPro.
Синтаксис:
MRKPAD(cMenuBarName, cMenuTitleName)
Параметры:
cMenuBarName
Задает имя строки меню, содержащей нужный заголовок меню.
cMenuTitleName
Задает имя заголовка меню.
Результат:
Логический.
Комментарии:
Чтобы пометить заголовок меню или снять отметку, пользуйтесь командой SET MARK OF.
Если заданный заголовок меню помечен, функция MRKPAD( ) возвращает значение "истина" (.T.), в противном случае она возвращает "ложь" (.F.).
Пример:
* В следующем примере программа MARKPAD.PRG использует функцию * MRKPAD( ), чтобы при выборе заголовка меню ставить или убирать * помечающую его галочку. * Сначала текущая системная строка меню сохраняется в памяти по * команде SET SYSMENU SAVE, а все элементы системных меню удаляются * по команде SET SYSMENU TO. * По команде DEFINE PAD создаются несколько элементов системных * меню. Когда выбирается элемент меню, выполняется процедура 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