versión 11 (Modificado)
SET MENU BAR (barra{; proceso{; *}})
Parámetro | Tipo | Descripción | |
barra | Num| Alfa | RefMenu | Número o nombre de la barra de menús o | |
Referencia de menú | |||
proceso | Numérico | Número de referencia del proceso | |
* | Guardar el estado de la barra de menús |
Descripción
MENU BAR reemplaza la barra de menús actual con la especificada por barra en el proceso actual únicamente. En el parámetro barra, puede pasar el número o nombre de la nueva barra. Igualmente puede pasar una referencia única de menú (tipo RefMenu, cadena de 16 caracteres). Cuando trabaja con referencias, los menús pueden ser utilizados como barras de menú y viceversa (ver la sección Gestión de menús).
Nota: El nombre de una barra de menús puede contener hasta 31 caracteres y debe ser único.
Si pasa el parámetro opcional proceso cambia la barra de menús del proceso especificado por barra.
Nota: Si pasa un parámetro RefMenu en barra, el parámetro proceso es inútil y se ignorará.
El parámetro opcional * le permite conservar el estado de la barra de menús. Si este parámetro se omite, MENU BAR reinicializa la barra de menús cuando el comando se ejecuta.
Por ejemplo, imagine que SET MENU BAR(1) se ejecuta. Luego, varios comandos de menú se desactivan utilizando el comando DISABLE MENU ITEM.
Si SET MENU BAR(1) se ejecuta una segunda vez, desde el mismo proceso o desde un proceso diferente, todos los comandos de menú regresarán a su estado de activación inicial.
Si SET MENU BAR(1;*) se ejecuta, la barra de menús conservará su estado anterior, y los comandos de menú que estaban inactivos permanecerán inactivos.
Nota: Si pasa un parámetro RefMenu en barra, el parámetro * es inútil y será ignorado.
Cuando un usuario entra al entorno Aplicación, se muestra la primera barra de menús (Barra #1). Puede cambiar esta barra de menús por defecto abriendo la base y especificando la barra de menús deseada en el Método de base On Startup o en el método de inicio asociado a un usuario individual.
Ejemplos
1. El siguiente ejemplo cambia la barra de menús actual por la barra de menús #3 y restablece el estado de los comandos de menú a sus estados originales:
MENU BAR (3)
2. El siguiente ejemplo cambia la barra de menús actual por la barra de menús llamada "BarraForm1" y guarda el estado de los comandos de menús. Comandos de menús que fueron desactivados previamente aparecerán inactivos.
MENU BAR ("BarraForm1";*)
3. El siguiente ejemplo reemplaza la barra de menús actual por la barra de menús #3 mientras los registros son modificados. Una vez los registros sean modificados, la barra de menús #2 se restaura. El estado de los comandos de menú se conserva:
MENU BAR(3) ALL RECORDS([Clientes]) MODIFY SELECTION([Clientes]) MENU BAR(2;*)
4. En este ejemplo, crearemos, por programación, una barra de menús incluyendo los menús Archivo y Edición:
`Metodo de creación menú Archivo C_STRING(16;MenuArchivo) ` MenuArchivo contendrá la referencia de menu Archivo MenuArchivo:=Create menu INSERT MENU ITEM(MenuArchivo;-1;"Mi base de datos "+Get indexed string(131;29)) SET MENU ITEM MARK(MenuArchivo;1;Char(18)) INSERT MENU ITEM(MenuArchivo;-1;"(-") INSERT MENU ITEM(MenuArchivo;-1;"Salir del modo Test Application mode/Y") SET MENU ITEM PROPERTY(MenuArchivo;3;Associated Standard Action; Return to Design mode) INSERT MENU ITEM(MenuArchivo;-1;"(-") INSERT MENU ITEM(MenuArchivo;-1;Get indexed string(131;26)) SET MENU ITEM PROPERTY(MenuArchivo;6;Associated Standard Action; Preferences Action) `Preferencias INSERT MENU ITEM(MenuArchivo;-1;"(-") INSERT MENU ITEM(MenuArchivo;-1;Get indexed string(131;30)) SET MENU ITEM PROPERTY(MenuArchivo;7;Associated Standard Action; Quit Action) `Salir SET MENU ITEM SHORTCUT(MenuArchivo;7;Character code("Q")) `Método de creación del menú Buscar y reemplazar C_STRING(16;MenuBuscaryReemplazar) `MenuBuscaryReemplazar contendrá la referencia del menú Buscar y reemplazar MenuBuscaryReemplazar:=Create menu APPEND MENU ITEM(MenuBuscaryReemplazar; "Buscar;Buscar Siguiente;Buscar anterior;(;Remplazar;Remplazar siguientes;Reemplazar anterior") SET MENU ITEM SHORTCUT(MenuBuscaryReemplazar;1;Character code("F")) SET MENU ITEM SHORTCUT(MenuBuscaryReemplazar;5;Character code("R")) SET MENU ITEM METHOD(MenuBuscaryReemplazar;1; "MiMetodoBuscar") `Método de creación del menú Edición C_STRING(16;MenuEdicion) `EditMenu contendrá la referencia del menú Edición MenuEdicion:=Create menu APPEND MENU ITEM(MenuEdicion;"Cortar;Copiar;Pegar") SET MENU ITEM SHORTCUT(MenuEdicion;1;Character code("X")) SET MENU ITEM PROPERTY(MenuEdicion;1;Associated Standard Action; Cut Action) SET MENU ITEM SHORTCUT(MenuEdicion;2;Character code("C")) SET MENU ITEM PROPERTY(MenuEdicion;2;Associated Standard Action;Copy Action) SET MENU ITEM SHORTCUT(MenuEdicion;3;Character code("V")) SET MENU ITEM PROPERTY(MenuEdicion;3;Associated Standard Action;Paste Action) INSERT MENU ITEM(MenuEdicion;-1;"(-") INSERT MENU ITEM(MenuEdicion;-1;"Buscar y reemplazar" ; MenuBuscaryReemplazar) ` línea que tendrá el submenú main_Bar:=Create menu ` Cree la barra de menús con los otros menús INSERT MENU ITEM(main_Bar;-1;Get indexed string(79;1);MenuArchivo) APPEND MENU ITEM(main_Bar; "Edición";MenuEdición) SET MENU BAR(main_Bar)
Ver también