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
Tipos de ventanas

Tipos de ventanas  


 

Puede utilizar una de las siguientes constantes predefinidas (tema "Abrir ventana formulario" para especificar el tipo de ventana a abrir con Open form window:

Constante Tipo Valor
Modal form dialog box Entero largo 1
Movable form dialog box Entero largo 5
Plain form window Entero largo 8
Pop up form window Entero largo 32
Sheet form window Entero largo 33
Toolbar form window Entero largo 35
Palette form window Entero largo 1984
Form has no menu bar Entero largo 2048
Form has full screen mode Mac Entero largo 65536
Controller form window Entero largo 133056
Movable form dialog box no title Entero largo 524293
Plain form window no title Entero largo 524296

 

Esta sección muestra cada tipo de ventana en Windows (izquierda) y macOS (derecha).

Una ventana modal coloca al usuario en un estado (o “modo”) donde sólo puede actuar dentro de esta ventana. Mientras se muestre la ventana modal, los comandos de menú y las otras ventanas de la aplicación son inaccesibles. Para cerrar una ventana modal, el usuario debe validarla, cancelarla, o elegir una de las opciones que ofrece. Las cajas de diálogo de alerta son ejemplos típicos de ventanas modales.

En 4D, los tipos de ventana Modal form dialog box, Movable form dialog box y Movable form dialog box no title son ventanas modales.

Nota: una ventana modal siempre permanece en el primer plano. Por consiguiente, cuando una ventana modal llama a una ventana no modal, esta última ventana se muestra al fondo, incluso si se llamó después de la ventana modal. Por lo tanto evite este tipo de operación.

Por el contrario, cuando una ventana modal llama a otra ventana modal, la última ventana se mostrará en el primer plano.

  • Puede tener un título: no
  • Puede tener una casilla Cerrar o un equivalente: no
  • Puede redimensionarse: no
  • Puede minimizarse/maximizarse o hacerle zoom: no
  • Adaptada a las barras de desplazamiento: no
  • Uso: DIALOG, ADD RECORD o equivalente
  • Las ventanas de este tipo son modales

  • Puede tener un título: sí
  • Puede tener una casilla cerrar o un equivalente: sí
  • Puede redimensionarse: sí
  • Puede minimizarse/maximizarse o hacerle zoom: sí
  • Adaptada a las barras de desplazamiento: no
  • Uso: DIALOG, ADD RECORD(...;...;*) o equivalente
  • Las ventanas de este tipo son modales, pero pueden moverse.

  • Puede tener un título: sí
  • Puede tener una casilla Cerrar o un equivalente: sí
  • Puede redimensionarse: sí
  • Puede minimizarse/maximizarse o hacerle zoom: sí
  • Adaptada a las barras de desplazamiento: sí
  • Uso: entrada de datos con barras de desplazamiento, DISPLAY SELECTION, MODIFY SELECTION, etc.

Este tipo de ventana tiene las siguientes características avanzadas específicas:

  • La ventana no puede tener una caja cerrar pero se cierra automáticamente y el evento "cancelar" se pasa a la ventana cuando:
    - ocurre un clic fuera de la ventana;
    - la ventana de fondo o la ventana MDI (Multiple Document Interface) se desplaza;
    - el usuario hace clic en la tecla Esc.
  • Esta ventana se muestra delante de su ventana "padre" (no debe utilizarse como ventana principal del proceso). La ventana de fondo no está desactivada. Sin embargo, no recibe más eventos.
  • No es posible redimensionar o desplazar la ventana utilizando el ratón; sin embargo, al realizar estas acciones por programación, se optimiza el redimensionamiento de los elementos del fondo.
  • Uso: este tipo de ventana se adapta particularmente al manejo de los menús pop-up asociados a los botones 3D de tipo “bevel” o “barras de herramientas”.
  • Limitaciones:
    • No es posible mostrar objetos de menú pop-up dentro de este tipo de ventana.
    • Este tipo de ventana no permite mostrar mensajes de ayuda en Mac OS.

Las ventanas hoja (sheet windows) son específicas para Mac OS. Estas ventanas se muestran en la ventana principal. Se centran automáticamente en la ventana principal. Sus propiedades son idénticas a las de las cajas de diálogo modales. Por lo general se utilizan para realizar una acción directamente relacionada con la que se lleva a cabo en la ventana principal.

  • Puede crear una ventana hoja únicamente bajo Mac OS si la última ventana abierta es visible y de tipo documento (form).
  • El comando abre una ventana de tipo 1 (diálogo modal) en lugar de una de tipo 33:
    - si la última ventana abierta no es visible o no es de tipo documento,
    - bajo Windows.
  • Como una ventana hoja debe dibujarse sobre un formulario, su visualización se rechaza en el evento On Load del primer formulario cargado en la ventana (ver el ejemplo 3 del comando Open form window).
  • Uso: DIALOG, ADD RECORD(...;...*) o equivalente, bajo Mac OS (no estándar bajo Windows).

Una ventana barra de herramientas se crea con la ubicación, tamaño y propiedades gráficas de la barra de herramientas, es decir:

  • La ventana se mostrará siempre justo debajo de la barra de menús.
  • El tamaño horizontal de la ventana se ajustará automáticamente para llenar todo el espacio horizontal disponible en el escritorio (en macOS) o dentro de la ventana de la aplicación 4D (en Windows en modo MDI). El tamaño vertical de la ventana se basa en las propiedades del formulario, como todos los otros tipos de ventanas formulario.
  • La ventana no tiene borde, no se puede mover y no se puede cambiar el tamaño de forma manual.
  • No es posible crear dos ventanas de la barra de herramientas diferentes al mismo tiempo en el mismo proceso (de lo contrario se genera el error -10613 "No se puede crear dos ventanas formulario de tipo barra de herramientas").

Barra de herramientas y modo pantalla completa en macOS: si su aplicación muestra a la vez una ventana barra de herramientas y una ventana estándar que admiten el modo de pantalla completa (opción (Form has full screen mode Mac), las normas de interfaz requieren que se oculte la barra de herramientas cuando una ventana estándar pase a  modo pantalla completa. Para saber si una ventana ha cambiado al modo pantalla completa, simplemente pruebe si su tamaño vertical es exactamente el mismo que la altura de la pantalla (ver el comando HIDE TOOL BAR).

Este tipo de ventana le permite generar ventanas flotantes. La característica principal de las ventanas flotantes es que permanecen en el primer plano incluso si el usuario hace clic en otra ventana del proceso. Las ventanas flotantes se utilizan generalmente para mostrar información permanente o barras de herramientas.

 

Este tipo de ventana es similar a Palette form window con la siguiente especificidad: en Windows, la ventana flotante será referenciada por un icono en la barra de tareas (en Windows, las paletas flotantes regulares no se muestran en la barra de tareas).

Este tipo de ventana es útil cuando la base de datos se ejecuta en Modo SDI en Windows en Windows. En este modo, las paletas flotantes se ocultan cuando su aplicación principal se mueve al fondo. Por lo tanto, si su interfaz de base de datos se basa en una única ventana flotante (por ejemplo, para mostrar una vista de monitor), debe utilizar un Controller form window para referenciar la aplicación en la barra de tareas y asegúrarse de que permanecerá accesible incluso si se ha movido al fondo.

Por ejemplo

 $win:=Open form window("myMonitor";Controller form window;On the left;Vertically centered)

Nota: bajo macOS, este tipo de ventana se comporta como una Palette form window regular.

Esta opción está destinada a ser utilizada cuando la base de datos se ejecuta en Modo SDI en Windows.

En este contexto, todas las ventanas de su aplicación muestran de forma predeterminada la barra de menús del proceso actual. Si desea abrir una ventana sin barra de menús, debe agregar la constante Form has no menu bar al parámetro tipo. Por ejemplo, este código crea una ventana de formulario plana sin barra de menú en una aplicación SDI en Windows:

Nota: esta opción no tiene efecto:

  • En una aplicación macOS,
  • En una aplicación Windows en modo MDI.

La opción de "pantalla completa" está disponible en macOS para las ventanas de tipo de documento. Cuando se utiliza esta opción, el botón "Pantalla completa" se muestra en la ventana. Cuando el usuario hace clic en este icono, la ventana pasa a pantalla completa y 4D oculta automáticamente la barra de herramientas principal.


Para utilizar esta opción, añada la constante Form has full screen mode Mac al parámetro tipo. Por ejemplo, este código crea una ventana formulario con botón pantalla completa bajo macOS:

 $win:=Open form window([Interface];"User_Choice";Plain form window+Form has full screen mode Mac)
 DIALOG([Interface];"User_Choice")

Nota: bajo Windows, esta opción no tiene efecto.

 

Este tipo permite diseñar ventanas modales con barras de herramientas personalizadas. Para más información, consulte esta entrada del blog..

  • Ventana modal: sí
  • Se puede mover: sí (por código, ya que no hay barra de título)
  • Se puede redimensionar: sí
  • Se puede minimizar/maximizar o ampliar: no
  • Tiene título: no

Este tipo permite diseñar ventanas con barras de herramientas personalizadas. Para obtener más información, consulte esta entrada del blog..

  • Ventana modal: no
  • Se puede mover: sí (por código, ya que no hay barra de título)
  • Se puede redimensionar: sí
  • Se puede minimizar/maximizar o ampliar: Sí (por código, ya que no hay barra de título)
  • Tiene título: no



Ver también 

Form improvements (YouTube)
Open form window

 
PROPIEDADES 

Producto: 4D
Tema: Ventanas

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Modificado: 4D v16 R4
Modificado: 4D v20 R5

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v20 R7)