MRKPAD( ) (Función)
Determina si un título de menú de una barra de menús definida por el usuario o la barra de menús del sistema de Visual FoxPro está marcada.
MRKPAD(cMenuBarName, cMenuTitleName)
Valores devueltos
Logical
Parámetros
- cMenuBarName
Especifica el nombre de la barra de menús que contiene el título de menú. - cMenuTitleName
Especifica el nombre del título de menú.
Observaciones
Utilice SET MARK OF para marcar o quitar la marca de un título de menú.
Si el título de menú especificado está marcado, MRKPAD( ) devolverá verdadero (.T.); de lo contrario, MRKPAD( ) devolverá falso (.F.).
Ejemplo
El siguiente ejemplo de programa, llamado MARKPAD.PRG, utiliza MRKPAD( ) para alternar el carácter de marca de un título de menú cuando lo elige.
Primero se guarda en memoria la barra de menús del sistema actual con SET SYSMENU SAVE y se eliminan todos los títulos de menú del sistema con SET SYSMENU TO.
Con DEFINE PAD se crean varios títulos de menú del sistema. Cuando elige un elemento de menú, se ejecuta el procedimiento choice
. choice
muestra el nombre del elemento de menú que elige y el nombre de la barra de menú. SET MARK OF se utiliza con MRKPAD( ) para mostrar u ocultar el carácter de marca del elemento de menú. Si elige el título de menú Exit, se restaurará el menú del sistema de Visual FoxPro original.
** 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