4D v16.3

Gestión de menús

Inicio

 
4D v16.3
Gestión de menús

Gestión de menús  


 

La documentación de los comandos de menús utiliza indiferentemente los términos comando de menú y elemento de menú cuando describe una línea de un menú.

El lenguaje de 4D ofrece dos modos de manipulación de menús y barras de menús: por referencias o por números.

  • La gestión de menús por referencia (MenuRef) es la nueva manera de administrar menús, introducida con la versión 11 de 4D. Este modo da acceso a funciones avanzadas tales como la creación de interfaces completamente dinámicas (menús creados "al vuelo" sin que deba existir necesariamente en el editor de menús) y la gestión de submenús jerárquicos multinivel.
  • La gestión de menús y barras de menús por número está basada en los menús creados en el editor de menús en modo Diseño. Se asigna un número fijo a cada barra de menús y menú (correspondiente a su posición en el editor). Este número es utilizado por los comandos del lenguaje para designar la barra o el menú. El alcance de los comandos del lenguaje aplicados a los menús administrados por número es la barra de menús actual.Este comportamiento corresponde a las versiones anteriores de 4D y obedece a varias reglas (descritas a continuación en el párrafo "Gestión de menús por número"). Aún puede utilizarse pero no permite tomar ventaja de las nuevas funcionalidades ofrecidas a partir de la versión 11, particularmente la gestión dinámica de menús y la utilización de submenús jerárquicos: no es posible acceder a un submenú jerárquico utilizando un número.

Los dos modos de gestión de menús son compatibles y pueden ser utilizados simultáneamente en sus interfaces. La mayoría de los comandos en el tema "Menús" aceptan indiferentemente números o referencias de menús.

Sin embargo, la gestión de menús por referencia es recomendable ya que ofrece muchas más posibilidades. Observe que si su interfaz de menús está definida parcial o totalmente vía el editor de menús, es perfectamente posible trabajarla en forma de referencias utilizando los comandos Get menu bar reference y GET MENU ITEMS.

Cuando los menús son manejados por medio de referencias MenuRef, no hay diferencia entre un menú y una barra de menús. En ambos casos, se trata de una lista de elementos. Sólo su uso es diferente. En el caso de una barra de menús, cada elemento corresponde a un menú, el cual está compuesto de elementos. Este también es el principio en el cual los menús jerárquicos están basados: cada elemento puede ser un menú y así sucesivamente.

Cuando un menú se administra por referencia, toda modificación efectuada sobre este menú durante la sesión pasa inmediatamente a cada instancia del menú y en todo proceso de la base.

MenuRef  

Como las listas jerárquicas, todos los menús tienen una referencia única, gracias a la cual puede identificarse durante toda la sesión. Esta referencia, llamada por convención MenuRef, es un alfa numérico de 16 caracteres. Todos los comandos del tema "Menús" aceptan esta referencia, o un número de menú, para designar un menú o una barra de menús.

Las referencias de menús pueden obtenerse utilizando los comandos Create menu, Get menu bar reference o GET MENU ITEMS.

Las barras de menús pueden definirse en el editor de menús en el entorno Diseño. Cuando son administradas por número, cada barra de menú es identificada por un número y por un nombre. La primera barra de menú (creada automáticamente por 4D) tiene el número 1 y se llama por defecto Barra de Menús #1. Puede renombrarla en el editor de menús. El nombre de una barra de menú puede contener hasta 31 caracteres y debe ser único.

Barra de Menús #1 también es la barra de menús por defecto. Para abrir una aplicación con una barra de menús diferente de Barras de Menús #1, debe utilizar el comando SET MENU BAR en el Método de base On Startup.

No es posible modificar por programación el contenido mismo de una barra de menús, sin embargo los menús que la componen pueden ser modificados. El alcance de los comandos del lenguaje aplicados a menús estáticos es la barra de menús actual. En cada llamada al comando SET MENU BAR (sin el parámetro *), todos los menús y los comandos de menús vuelven a su estado original definido en el editor de menús.

Cada barra de menús tiene por defecto tres menús: Archivo, Edición y Entorno.

• El menú Archivo tiene únicamente un comando de menú: Salir. La acción estándar Salir está asignada a él. Esta acción muestra una caja de diálogo de confirmación "¿Está seguro?" , si la caja de diálogo se valida sale de la aplicación 4D. De lo contrario, la operación se cancela.

Nota: en Mac OS X, el comando de menú creado asociado a la acción Salir se ubica automáticamente en el menú de la aplicación, cuando la base se ejecuta en este sistema.

Puede renombrar el menú Archivo, añadirle comandos de menú o conservarlo tal cual. Se recomienda conservar siempre Salir como último comando del menú Archivo.

• El menú Edición contiene los comandos del menú edición estándar. Una acción estándar (Cancelar, Cortar, Copiar, etc.) se asigna a cada comando de este menú. Puede añadir comandos a este menú o utilizar sus propios métodos de gestión de acciones de edición.

• El menú Entorno contiene el comando Volver al entorno Diseño. Este comando permite volver al modo Diseño (cuando está disponible) desde el modo Aplicación.

Nota: 4D administra automáticamente los menús sistema Ayuda, y aplicación (Mac OS X). Estos menús no pueden ser modificados, excepto por el comando Acerca de 4D, el cual puede administrarse utilizando el comando SET ABOUT.

Advertencia: las barras de menú son "interproceso." Toda modificación efectuada en una barra de menú en el modo Diseño se reflejará en todos los procesos donde se utilice la barra de menús.

Como las barras de menú, los menús son numerados. El menú Archivo es generalmente el número 1. Los otros menús son numerados secuencialmente de izquierda a derecha (2, 3, 4, etc.). El menú Aplicación (Mac OS) está excluido de esta numeración. En ambas plataformas, el menú Ayuda también está excluido. Debe observarse que el comando Count menus no tiene en cuenta estos menús. Si, por ejemplo, su barra de menús está formada por los menús Archivo, Edición, Clientes, Facturas y Ayuda, Count menus devolverá 4 (ignorando los menús sistema mantenidos por 4D). La numeración de los menús es importante cuando está trabajando, por ejemplo, con la función Menu selected.

Cuando un menú está asociado a un formulario, el esquema de numeración de menús es diferente. El primer menú añadido comienza con el número 2049. Para referenciar a un menú asociado, añada 2048 al número inicial del menú.

Los comandos de menú en cada menú se numeran secuencialmente de arriba a abajo, incluyendo los separadores. El comando de menú superior es el número 1.

Puede asociar una barra de menús a un formulario en las Propiedades del formulario (sección General). Este tipo de barra de menú se llama “barra de menús de formulario” en este documento.

Los menús de una barra de menús de formulario son añadidos a la barra de menús actual cuando el formulario se visualiza como un formulario de salida en el entorno Aplicación.
Las barras de menús de formularios son referenciadas por un número y un nombre. Si el número o el nombre de la barra de menús mostrada con el formulario actual es el mismo que el de la barra de menús asociada al formulario, ésta última no se muestra.

Por defecto, cuando un formulario se muestra con una barra de menús personalizada, los comandos de la barra de menús actual son desactivados, es decir que no tiene ningún efecto seleccionarlos. Puede modificar este funcionamiento seleccionando la opción Barra de menús activa en las Propiedades del formulario: en este caso, los comandos de la barra de menús actual permanecerán utilizables.

En todos los casos, la selección de un comando de menú causa el envío de un evento On Menu Selected al método de formulario; puede utilizar el comando Menu selected para probar el menú seleccionado.

Los menús pueden estar adjuntos a las barras de menús. Si un menú adjunto se modifica utilizando uno de estos comandos, cada una de las instancias del menú reflejará los cambios. Para mayor información sobre menús adjuntos, consulte el Manual de Diseño.

Cada comando de menú puede tener un método de proyecto o una acción estándar asociada. Si no asigna un método o una acción estándar a un comando de menú, la selección de este comando provaoca la salida del modo Aplicación y el regreso al entorno Diseño. Si sólo está disponible el entorno Diseño o si el usuario no tiene acceso al entorno Diseño, esto provocará el cierre de la aplicación.

Las acciones estándar permiten efectuar varias operaciones asociadas a funciones sistema (copiar, salir, etc.) o de base de datos 4D (añadir registro, seleccionar todo, etc.).
Puede asignar a la vez una acción estándar y un método de proyecto a un comando de menú. En este caso, la acción estándar nunca se ejecuta; sin embargo 4D utiliza esta acción para activar/desactivar el comando de menú acorde al contexto actual y asociar una operación específica de acuerdo a la plataforma (por ejemplo, la acción Preferencias se pasa en el menú aplicación bajo Mac OS). Cuando un comando de menú está desactivado, el método de proyecto asociado no puede ejecutarse.

Con el fin de facilitar la manipulación de elementos de menú, 4D ofrece un atajo que puede utilizarse para especificar el último elemento añadido al menú: simplemente debe pasar -1 en el parámetro elementoMenu.

Este principio se puede utilizar en todos los comandos del tema "Menús" que trabajan con elementos de menús.



Ver también 

Pop up menu

 
PROPIEDADES 

Producto: 4D
Tema: Menús

 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)