Saltar al contenido principal
Versión: Siguiente

Open window

Open window ( izquierda ; superior ; derecha ; inferior {; tipo {; titulo {; casillaCerrar}}} ) : Integer

ParámetroTipoDescripción
izquierdaIntegerCoordenada global izquierda del interior de la ventana
superiorIntegerCoordenada global superior del interior de la ventana
derechaIntegerCoordenada global derecha del interior de la ventana
inferiorIntegerCoordenada global inferior del interior de la ventana
tipoIntegerTipo de la ventana
tituloTextTítulo de la ventana
casillaCerrarTextMétodo a llamar en caso de doble clic del menú Control o de clic en la casilla Cerrar
ResultadoIntegerNúmero de referencia de la ventana

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

Descripción

Open window abre una nueva ventana cuyas dimensiones son definidas por los cuatro primeros parámetros:

  • izquierda es la distancia en píxeles desde el lado izquierdo de la ventana de la aplicación y el costado interior izquierdo de la ventana.
  • superior es la distancia en píxeles entre la altura de la ventana de la aplicación y el borde superior del interior de la ventana.
  • derecha es la distancia en píxeles entre el lado izquierdo de la ventana de la aplicación y el costado interior derecho de la ventana.
  • inferior es la distancia en píxeles desde la parte superior de la ventana de la aplicación y borde interior inferior de la ventana.

Nota de compatibilidad: Open window integra diferentes opciones que han evolucionado a través de las versiones y ahora sólo se conserva por razones de compatibilidad. Cuando se escribe nuevo código para la gestión de ventanas, por lo general es más práctico utilizar el comando Open form window, que se adapta mejor a las interfaces actuales.

Si pasa -1 en derecha e inferior, le indica a 4D que redimensione automáticamente la ventana si se cumplen las siguientes condiciones:

  • Usted ha diseñado un formulario y definido sus opciones de redimensionamiento en la ventana de propiedades del formulario en el entorno Diseño
  • Antes de llamar Open window, usted seleccionó el formulario utilizando el comando FORM SET INPUT, al cual pasó el parámetro opcional *.

Importante: este dimensionamiento automático de la ventana ocurrirá únicamente si realiza una llamada previa a FORM SET INPUT para el formulario a mostrar en la ventana y si le pasa el parámetro opcional * a FORM SET INPUT.

  • El parámetro tipo es opcional y define el tipo de ventana que quiere mostrar, y corresponde a las diferentes ventanas presentadas en la sección . Si el tipo pasado es negativo, la ventana será flotante. Si el tipo no se especifica, el tipo 1 se utiliza por defecto.
  • El parámetro titulo indica el título opcional de la ventana

Si pasa una cadena vacía ("") en titulo, le indica a 4D que utilice los valores de introducidos en el área Nombre de la ventana de la ventana de Propiedades del formulario en el entorno Diseño para el título del formulario a mostrar en la ventana.

Importante: el título por defecto del formulario se aplicará a la ventana únicamente se llama previamente al comando FORM SET INPUT para el formulario a mostrar y le pasa el parámetro opcional * a FORM SET INPUT.

  • El parámetro casillaCerrar es opcional y designa el método para cerrar la ventana. Si se especifica este parámetro, la casilla del menú Control (Windows) o la casilla Cerrar (Macintosh) se añade a la ventana. Cuando el usuario hace doble clic en la casilla de menú Control (Windows) o clic en la Casilla cerrar (Macintosh), se llama al método pasado en casillaCerrar.

Nota: también puede administrar el cierre de la ventana desde el método del formulario mostrado en la ventana cuando ocurre un evento On Close Box. Para mayor información, consulte el comando Form event code.

Si se abre más de una ventana para un proceso, la última ventana abierta es la ventana activa (del primer plano) para ese proceso. Sólo puede modificarse la información dentro de la ventana activa. Todas las demás ventanas pueden ser visualizadas. Cuando el usuario digita, la ventana activa siempre pasará al primer plano, si aún no está ahí.

Los formularios se muestran al interior de una ventana abierta. El texto pasado al comando MESSAGE también aparece en la ventana.

Open window devuelve una referencia de ventana de tipo WinRef, utilizable por los comandos de gestión de ventanas (ver la sección "WinRef").

Ejemplo 1

El siguiente método de proyecto abre una ventana centrada en la ventana en la ventana principal (Windows) o en la pantalla principal (Macintosh). Note que puede aceptar dos, tres, o cuatro parámetros:

  // Método de proyecto OPEN CENTERED WINDOW
  // $1 – Ancho de la ventana
  // $2 – Alto de la ventana
  // $3 – Tipo de la ventana (opcional)
  // $4 – Título de la ventana (opcional)
 $SW:=Screen width\2
 $SH:=(Screen height\2)
 $WW:=$1\2
 $WH:=$2\2
 Case of
    :(Count parameters=2)
       Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH)
    :(Count parameters=3)
       Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3)
    :(Count parameters=4)
       Open window($SW-$WW;$SH-$WH;$SW+$WW;$SH+$WH;$3;$4)
 End case

Una vez escrito el método de proyecto, puede utilizarlo de esta forma:

 OPEN CENTERED WINDOW(400;250;Movable dialog box;"Actualizar archivos")
 DIALOG([Tabla de herramientas];"UPDATE OPTIONS")
 CLOSE WINDOW
 If(OK=1)
  // ...
 End if

Ejemplo 2

El siguiente ejemplo abre una ventana flotante que tiene un casilla de menú Control (Windows) o una casilla de cerrar (Macintosh). La ventana se abre en la esquina superior derecha de la ventana de la aplicación.

 $myWindow:=Open window(Screen width-149;33;Screen width-4;178;-Palette window;"";"CloseColorPalette")
 DIALOG([Dialogs];"Color Palette")

El método CloseColorPalette llama al comando CANCEL:

 CANCEL

Ejemplo 3

El siguiente ejemplo abre una ventana cuyo tamaño y título provienen de las propiedades del formulario mostrado en la ventana:

 ORM SET INPUT([Customers];"Add Records";*)
 $myWindow:=Open window(10;80;-1;-1;Plain window;"")
 Repeat
    ADD RECORD([Customers])
 Until(OK=0)

Recuerde: para que la función Open window utilice automáticamente las propiedades del formulario, debe llamar a FORM SET INPUT con el parámetro opcional * y las propiedades del formulario deben haber sido definidas en función de esta utilización en el entorno Diseño.

Ejemplo 4

Este ejemplo ilustra el mecanismo de “retraso” de mostrar ventanas bajo Mac OS X:

 $miVentana:=Open window(10;10;400;400;Sheet window)
  //Por el momento, se crea la ventana pero permanece oculta
 DIALOG([Tabla];"formDial")
  //El evento On Load se genera luego se muestra la ventana; "desciende" de debajo de la barra de título

Ver también

CLOSE WINDOW
Crear ventana
Open form window