4D v13.4

Tipos de ventanas

Inicio

 
4D v13.4
Tipos de ventanas

Tipos de ventanas  


 

 

Puede utilizar una de las siguientes constantes predefinidas para especificar el tipo de ventana a abrir con Open window:

Constante Tipo Valor Comentario
Plain no zoom box window Entero largo 0
Modal dialog box Entero largo 1
Plain dialog box Entero largo 2 Puede utilizarse en ventana flotante
Alternate dialog box Entero largo 3 Puede utilizarse en ventana flotante
Plain fixed size window Entero largo 4
Movable dialog box Entero largo 5 Puede utilizarse en ventana flotante
Plain window Entero largo 8
Round corner window Entero largo 16
Pop up window Entero largo 32
Sheet window Entero largo 33
Resizable sheet window Entero largo 34
Palette window Entero largo 1984 Puede utilizarse en ventana flotante
Texture appearance Entero largo 2048
Compositing Mode Entero largo 4096
Has toolbar button Mac OS Entero largo 8192

Si pasa una de estas constantes a Open window, abre una ventana estándar. Para abrir una ventana flotante, pase un tipo de ventana negativo a Open window.

La principal característica de las ventanas flotantes es que permanezcan en 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.

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, las ventanas de tipo 1 y 5 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.

La siguiente muestra cada tipo de ventana, en Windows (izquierda) y en Macintosh (derecha).

  • Puede tener un título: sí
  • Puede tener una casilla Cerrar o un equivalente: sí
  • Puede redimensionarse: no en Macintosh
  • Puede minimizarse/maximizarse o hacerle zoom: no
  • Adaptada a las barras de desplazamiento: sí y no
  • Uso: entrada de datos con ADD RECORD(...;...*) o equivalente

  • 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: no en Macintosh
  • Adaptada a las barras de desplazamiento: sí
  • Uso: entrada de datos con barras de desplazamiento, DISPLAY SELECTION, MODIFY SELECTION, etc.

  • 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.

  • Puede tener un título: sí
  • 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, pero pueden moverse para utilizarse como ventanas flotantes

  • Puede tener un título: no
  • Puede tener una casilla Cerrar o un equivalente: no
  • Puede ser redimensionada: no
  • Puede ser minimizada/maximizada o hacerle zoom: no
  • Adaptada a las barras de desplazamiento: no
  • Uso: DIALOG, ADD RECORD(...;...;*) o equivalente
  • Las ventanas de este tipo son modales, a menos que se utilicen como ventanas flotantes

  • 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, bajo Mac OS ( no estándar bajo Windows)
  • Las ventanas de este tipo son modales, a menos que se utilicen como ventanas flotantes

Cuando llama a Open window, puede añadir una de las siguientes constantes a Palette window para obtener variantes en el comportamiento de la ventana:

Constante Tipo Valor
Has grow box Entero largo 4
Has highlight Entero largo 1
Has window title Entero largo 2
Has zoom box Entero largo 8

  • Puede tener un título: sí, si se especifica la variación Has window title
  • Puede tener una casilla Cerrar o un equivalente: sí
  • Puede redimensionarse: sí, si se especifica la variación Has grow box
  • Puede minimizarse/maximizarse o hacerle zoom: sí, si se especifica la variación Has zoom box
  • Adaptada a las barras de desplazamiento: sí, si se especifica la variación Has grow box
  • Uso: ventanas flotantes con DIALOG o DISPLAY SELECTION (no entrada de datos)

  • Puede tener un título: sí
  • Puede tener una casilla Cerrar o un equivalente: sí
  • Puede redimensionarse: no en Macintosh
  • Puede minimizarse/maximizarse o hacerle zoom: No
  • Adaptada a las barras de desplazamiento: No en Macintosh
  • Uso: raro (obsoleto)

Las ventanas hoja (sheet windows) son específicas para Mac OS X. Estas ventanas “descienden” de la barra de título de la ventana principal utilizando una animación y se muestran sobre 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 X 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 o de tipo 8 (ventana estándar) en lugar de una de tipo 34:
    - 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 4 del comando Open window).
  • Uso: DIALOG, ADD RECORD(...;...*) o equivalente, bajo Mac OS (no estándar bajo Windows).

Este tipo de ventana tiene las características esenciales del tipo Diálogo simple (2) y dispone de propiedades avanzadas específicas:

  • La ventana 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 pop-up menus asociados a los botones 3D de tipo “bevel” o “barras de herramientas”.


Bajo Mac OS, es posible aplicar el aspecto metálico a las ventanas. Este tipo de apariencia se encuentra con frecuencia en la interfaz Macintosh. Bajo Windows, esta propiedad no tiene efecto.

Para aplicar la apariencia metálica a una ventana creada por el comando Open window, puede añadir la constante Texture appearance al tipo de ventana definido en el parámetro tipo. Por ejemplo:

 $ven:=Open window(10;80;-1;-1;Plain window+Texture appearence;"")

Esta apariencia está asociada a los siguientes tipos de ventanas:

Ventana estándar
Ventana estándar sin zoom
Ventana estándar de tamaño fijo
Diálogo modal desplazable
Ventana de esquinas redondeadas

El modo "compositing" es un modo de gestión interna de las ventanas bajo Mac OS X, especialmente requerido para la activación del aspecto "metálico" o "texturizado", como también para la visualización de ciertos objetos dinámicos tales como las áreas web.

Por razones técnicas, este modo se utiliza en ventanas 4D sólo cuando es necesario. Por defecto, las ventanas generadas vía los comandos Open window and Open form window no lo utilizan. Para activarlo, necesita añadir la constante Compositing Mode (Open window) o la constante Compositing Mode form window (Open form window) al tipo de ventana durante la llamada al comando.
Bajo Windows, esta propiedad no tiene efecto.

Nota: ciertas áreas y ventanas de 4D no son compatibles con el modo compositing (en particular las ventanas generadas por los comandos DISPLAY SELECTION y MODIFY SELECTION o las áreas 4D Chart). Si usa el modo compositing en estos contextos, se genera un mal funcionamiento de la visualización.

Bajo Mac OS, 4D v12 permite mostrar el botón de gestión de la barra de herramientas. Este botón estándar permite alternamente mostrar y ocultar la barra de herramientas de la ventana:

Para mostrar la barra de herramientas de una ventana creada utilizando el comando Open window, sólo necesita añadir la constante Has toolbar button Mac OS. Por ejemplo:

 $NewWin:=Open window(10;10;1010;810;Plain window+Has toolbar button Mac OS)

Cuando se muestra la barra de herramientas de la ventana, el evento de formulario On Mac toolbar button se genera en el método de formulario cuando el usuario hace clic en el botón de gestión de la barra de herramientas de la ventana. La propiedad correspondiente debe haber sido seleccionada en las propiedades del evento de formulario.
Sólo se genera el evento, 4D no efectúa ninguna otra acción en la ventana. Es decisión del desarrollador modificar el tamaño de la ventana y mostrar y ocultar sus elementos de interfaz.

 
PROPIEDADES 

Producto: 4D
Tema: Ventanas

 
VER TAMBIÉN 

Open external window
Open form window
Open window