Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20 R7
Dynamic pop up menu

Dynamic pop up menu 


 

Dynamic pop up menu ( menu {; pordefecto {; CoordX ; CoordY}} ) -> Resultado 
Parámetro Tipo   Descripción
menu  MenuRef in Referencia de menú
pordefecto  Cadena in Parámetro del elemento seleccionado por defecto
CoordX  Entero largo in Coordenada X de la esquina superior izquierda
CoordY  Entero largo in Coordenada Y de la esquina superior izquierda
Resultado  Cadena in Parámetro del elemento de menú seleccionado

El comando Dynamic pop up menu hace aparecer un menú desplegable jerárquico en la ubicación actual del ratón o en la ubicación definida por los parámetros opcionales Coordx y Coordy.

El menú jerárquico utilizado debe haber sido creado con el comando Create menu. La referencia devuelta por Create menu debe pasarse en el parámetro menu.

Nota: el comando Pop up menu (tema “Interfaz de usuario”) puede utilizarse parar crear menús pop-up menus basados en texto.

Conforme con las reglas estándar de la interfaz, este comando generalmente debe ser llamado en respuesta a un clic derecho, o cuando el botón se mantiene presionado por un cierto periodo de tiempo (menú contextual por ejemplo).

El parámetro opcional pordefecto puede utilizarse para definir un elemento del menú desplegable seleccionado por defecto cuando aparece el menú. En este parámetro, pase una cadena personalizada asociada a la referencia del elemento de menú. Esta cadena debe haber sido definida de antemano con la ayuda del comando SET MENU ITEM PARAMETER. Si no pasa este parámetro, el primer elemento del menú será seleccionado por defecto.

Nota: solo se puede seleccionar un elemento de menú de nivel superior de forma predeterminada.

Los parámetros opcionales CoordX y CoordY pueden ser utilizados para especificar la ubicación del menú desplegable a mostrar. En los parámetros CoordX y CoordY, pase las coordenadas horizontal y vertical respectivamente, de la esquina superior izquierda del menú. Estas coordenadas deben ser expresadas en píxeles en el sistema de coordenadas local del formulario actual. Estos dos parámetros deben pasarse juntos; si se pasa sólo uno de ellos, el otro será ignorado.

Si quiere mostrar un menú desplegable asociado a un botón 3D, no pase los parámetros opcionales CoordX y CoordY. En este caso, 4D calcula automáticamente la ubicación del menú respecto al botón en función de los estándares de interfaz de la plataforma actual (el botón 3D debe tener la propiedad "Con menú pop-up/relacionado" o "Con menú pop-up/Separado").

Si un elemento de menú ha sido seleccionado, el comando devuelve su cadena de caracteres personalizada asociada (tal como se ha definido utilizando el comando SET MENU ITEM PARAMETER). De lo contrario, el comando devuelve una cadena vacía.

A partir de 4D v16 R3: si una acción estándar está asociada a un elemento de menú, es tenida en cuenta por el comando Dynamic pop up menu en varios niveles:

  • Si una acción estándar asociada no está activada (es decir, no se puede invocar) en el contexto del menú emergente, el elemento se oculta automáticamente. Puede saber si una acción se activa utilizando el comando Get action info.
  • Los elementos con una acción asociada se seleccionan automáticamente, sin marcar o "mezclados" según la selección.
  • Si el título de la acción se ha ajustado al elemento usando la constante ak standard action title, el nombre localizado se mostrará en el menú.
  • Cuando se selecciona el elemento, se invoca la acción estándar asociada (la ejecución es asíncrona).    

Ejemplo  

Este código permite crear un menú emergente dinámico jerárquico basado en acciones estándar:

 C_TEXT($refMainContextMenu;$refMenuEdit)
 $refMainContextMenu:=Create menu
 APPEND MENU ITEM($refMainContextMenu;"-")
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak select all)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak clear)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak copy)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak cut)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak paste)
 APPEND MENU ITEM($refMainContextMenu;"-")
  //sub menu text edit
 $refMenuEdit:=Create menu
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font bold)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("B"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font italic)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("I"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font linethrough)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("L"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font underline)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("U"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font show dialog)
 APPEND MENU ITEM($refMainContextMenu;"Edit";$refMenuEdit)
 
 paramRef:=Dynamic pop up menu($refMainContextMenu)



Ver también 

Get menu item parameter
Get selected menu item parameter
Pop up menu
SET MENU ITEM PARAMETER
SET MENU ITEM PROPERTY

 
PROPIEDADES 

Producto: 4D
Tema: Menús
Número 1006

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v11 SQL
Modificado: 4D v16 R3

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)