Saltar al contenido principal
Versión: Siguiente

Open form window

Open form window ( {tabla ;} nomForm {; tipo {; posH {; posV {; *}}}} ) : Integer

ParámetroTipoDescripción
tablaTableTabla del formulario o tabla por defecto, si se omite
nomFormText, ObjectNombre del formulario
tipoIntegerTipo de la ventana
posHIntegerPosición horizontal de la ventana
posVIntegerPosición vertical de la ventana
*OperadorConservar la posición actual y el tamaño de la ventana
ResultadoIntegerNúmero de referencia de la ventana

Este comando no es hilo seguro, no puede ser utilizado en código apropiativo.

Descripción

El comando Open form window abre una nueva ventana utilizando las propiedades de tamaño y de redimensionamiento del formulario nomForm.

El formulario nomForm no se muestra en la ventana. Si quiere mostrar el formulario, tiene que llamar un comando que cargue un formulario (por ejemplo ADD RECORD).

A diferencia del comando Open window, ningún método está asociado a la casilla de cierre de la ventana. Al hacer clic en esta casilla se cancela y cierra la ventana, excepto si el evento de formulario On Close Box ha sido activado para el formulario. En este caso, el código asociado con este evento se ejecutará.

Si el formulario nomForm es redimensionable, la ventana abierta tendrá una casilla de zoom como también una casilla de redimensionamiento.

Nota: para conocer las principales propiedades de un formulario, utilice el comando FORM GET PROPERTIES.

En el parámetro nomForm, puede pasar:

  • el nombre de un formulario (formulario proyecto o tabla) a utilizar;
  • la ruta (en sintaxis POSIX) a un archivo .json válido que contiene una descripción del formulario a usar. Ver Ruta de archivo del formulario;
  • un objeto que contiene una descripción del formulario a utilizar.

El parámetro opcional tipo permite especificar un tipo de ventana. Este parámetro debe contener una de las siguientes constantes predefinidas del tema Abrir ventana formulario):

ConstanteTipoValor
Controller form windowEntero largo133056
Form has full screen mode MacEntero largo65536
Form has no menu barEntero largo2048
Modal form dialog boxEntero largo1
Movable form dialog boxEntero largo5
Movable form dialog box no titleEntero largo524293
Palette form windowEntero largo1984
Plain form windowEntero largo8
Plain form window no titleEntero largo524296
Pop up form windowEntero largo32
Sheet form windowEntero largo33
Toolbar form windowEntero largo35

Los tipos de ventanas se detallan en la sección Tipos de ventanas.

Nota: las constantes Form has full screen mode Mac y Form has no menu bar deben añadirse a una de las otras constantes de tipo

De forma predeterminada, si no se pasa el parámetro tipo, se abre una ventana de tipo Plain form window.

Caja de cerrar
Las ventanas de tipo Movable form dialog box, Plain form window y Palette form window tienen una caja de cierre. No se asocia ningún método a la caja de cierre de la ventana. Al hacer clic en este caja de cierre cancela y cierra la ventana, excepto si se ha activado el evento de formulario On Close Box para el formulario. En este caso, se ejecutará el código asociado a este evento.

Control de tamaño Si las propiedades de "tamaño de ventana" del formulario nomForm no están definidas como "fixed", la ventana abierta puede ser redimensionada por el usuario. Una caja de zoom puede estar disponible, dependiendo del tipo de ventana. Si la propiedad Ancho fijo y/o Altura fija está marcada en las propiedades del formulario, la ventana no será redimensionable.

Nota: algunos atributos (caja de control de tamaño, caja cerrar ...) de la ventana creada dependen de las especificaciones de interfaz del sistema operativo para el tipo elegido. Por lo tanto, es posible obtener diferentes resultados dependiendo de la plataforma utilizada.

El parámetro opcional posH permite definir la posición horizontal de la ventana. Puede pasar una posición definida en píxeles o una de las siguientes constantes predefinidas ubicadas en el tema Abrir ventana formulario:

ConstanteTipoValor
Horizontally centeredEntero largo65536
On the leftEntero largo131072
On the rightEntero largo196608

El parámetro opcional posV permite definir la posición vertical de la ventana. Puede pasar una posición definida en píxeles o una de las siguientes constantes predefinidas ubicadas en el tema Abrir ventana formulario:

ConstanteTipoValor
At the bottomEntero largo393216
At the topEntero largo327680
Vertically centeredEntero largo262144

Estos parámetros se expresan con relación a la esquina superior izquierda del área de contenido de la ventana de la aplicación (modo Windows MDI) o de la pantalla principal (macOS y modo Windows SDI). Tienen en cuenta la presencia de la barra de herramientas y la barra de menús.

Si pasa el parámetro opcional *, la posición y el tamaño actual de la ventana se memorizan al cerrar. Cuando la ventana se abre nuevamente, se respetan su posición y tamaño anterior. En este caso, los parámetros posV y PosH sólo se utilizan cuando se abre la ventana por primera vez.

Ejemplo 1

La siguiente instrucción abre una ventana estándar o una casilla cerrar y se ajusta automáticamente al tamaño del formulario de "Entrada". Como el formulario ha sido definido como redimensionables, la ventana tiene una casilla de redimensionamiento y una casilla de zoom:

 $winRef :=Open form window([Table1];"Enter")

Ejemplo 2

La siguiente instrucción abre una paleta flotante en la parte superior izquierda de la pantalla basada en un formulario de proyecto llamado "Herramientas". Esta paleta utiliza la última posición en cada nueva apertura:

 $winRef :=Open form window("Herramientas";Palette form window;On the left;At the top;*)

Ejemplo 3

Este código se debe llamar en macOS mientras se muestra una ventana documento, por ejemplo desde un botón de formulario, para mostrar una ventana hoja:

 $myWin:=Open form window("sheet form";Sheet form window)
  // Por el momento, la ventana se crea pero permanece oculta
 DIALOG([aTable];"dialForm")
  //El evento On Load se genera luego se muestra la ventana hoja; "Cae"
  //desde la parte inferior de la barra de título

Ejemplo 4

El siguiente ejemplo usa la ruta a un formulario .json para mostrar los registros en una lista de empleados:

 Open form window("/RESOURCES/OutputPersonnel.json";Plain form window)
 ALL RECORDS([Personnel])
 DIALOG("/RESOURCES/OutputPersonnel.json";*)

que devuelve:

Ver también

FORM GET PROPERTIES
Open window
Tipos de ventanas
Tipos de ventanas (Compatibilidad)