versión 11.1 (Modificado)
Puede utilizar una de las siguientes constantes predefinidas para especificar el tipo de ventana a abrir con Open window:
Constante | Tipo | Valor | Puede ser una ventana flotante |
Plain window | Entero largo | 8 | No |
Plain no zoom box window | Entero largo | 0 | No |
Plain fixed size window | Entero largo | 4 | No |
Modal dialog box | Entero largo | 1 | No |
Alternate dialog box | Entero largo | 3 | Sí |
Movable dialog box | Entero largo | 5 | Sí |
Plain dialog box | Entero largo | 2 | Sí |
Palette window | Entero largo | 1984 | Sí |
Round corner window | Entero largo | 16 | No |
Pop up window | Entero largo | 32 | No |
Sheet window | Entero largo | 33 | No |
Resizable sheet window | Entero largo | 34 | No |
Ventanas flotantes: 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.
Ventanas modales
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 tabla muestra cada tipo de ventana, en Windows (izquierda) y en Macintosh (derecha).
Ventana estándar (8)
Puede tener un título: Sí
Puede tener una casilla Cerrar o un equivalente: Sí
Puede ser redimensionada: Sí
Puede ser minimizada/maximizada o hacerle zoom: Sí
Adaptada a las barras de desplazamiento: Sí
Uso: entrada de datos con barras de desplazamiento, DISPLAY SELECTION, MODIFY SELECTION, etc.
Ventana estándar sin zoom (0)
Puede tener un título: Sí
Puede tener una casilla Cerrar o un equivalente: Sí
Puede ser redimensionada: Sí
Puede ser minimizada/maximizada 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.
Ventana estándar de tamaño fijo (4)
Puede tener un título: Sí
Puede tener una casilla Cerrar o un equivalente: Sí
Puede ser redimensionada: No en Macintosh
Puede ser minimizada/maximizada o hacerle zoom: No
Adaptada a las barras de desplazamiento: Sí y No
Uso: entrada de datos con ADD RECORD(...;...*) o equivalente
Diálogo modal (1)
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
Diálogo modal alterno (3)
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
Diálogo movible (5)
Puede tener un título: Sí
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, pero pueden moverse para ser utilizadas como ventanas flotantes
Diálogo simple (2)
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, bajo Mac OS ( no estándar bajo Windows)
Las ventanas de este tipo son modales, a menos que se utilicen como ventanas flotantes
Ventana paleta ( 1984 {+ 1} {+ 2} {+ 4} {+ 8} )
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 zoom box | Entero largo | 8 |
Has grow box | Entero largo | 4 |
Has window title | Entero largo | 2 |
Has highlight | Entero largo | 1 |
Puede tener un título: Sí, if Has window title variation is specified
Puede tener una casilla Cerrar o un equivalente: Sí
Puede ser redimensionada: Sí, if Has grow box variation is specified
Puede ser minimizada/maximizada 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)
Ventana de esquinas redondeadas (16)
Puede tener un título: Sí
Puede tener una casilla Cerrar o un equivalente: Sí
Puede ser redimensionada: No en Macintosh
Puede ser minimizada/maximizada o hacerle zoom: No
Adaptada a las barras de desplazamiento: No en Macintosh
Uso: Raro (obsoleto)
Ventana pop up (32)
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".
Ventana hoja (33) y Ventana hoja redimensionable (34)
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).
Aspecto metálico (2048)
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 Metal Look al tipo de ventana definido en el parámetro tipo. Por ejemplo:
$ven:=Open window(10;80;-1;-1;Plain window+Metal Look;"")
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
Modo Compositing (4096)
El modo "compositing" es un modo de gestión interna de las ventanas bajo Mac OS X, recomendado por Apple. En 4D, este modo es necesario particularmente para mostrar ciertos objetos dinámicos tales como las áreas Web.
Por razones históricas, este modo no se utiliza en todas las ventanas de 4D. El comando Open form window y los formularios de proyecto ejecutados desde el entorno Diseño siempre lo utilizan. Por otra parte, las ventanas administradas vía el comando Open window no lo utilizan por defecto. Para activarlo, necesitan pasar la constante Compositing Mode durante la llamada al comando.
Bajo Windows, esta propiedad no tiene efecto.
Nota: algunos objetos de antigua arquitectura no son compatibles con el modo compositing (por ejemplo las áreas 4D Chart). Si se muestran en las ventanas en modo compositing, estos objetos no funcionan.
Ver también
Open external window, Open window.