DEFINE WINDOW (Comando)

Crea una ventana y especifica sus atributos.

DEFINE WINDOW WindowName1 FROM nRow1, nColumn1 TO nRow2, nColumn2 
   | AT nRow3, nColumn3 SIZE nRow4, nColumn4 
   [IN [WINDOW] WindowName2 | IN SCREEN | IN DESKTOP [NAME ObjectName]
      [FONT cFontName [, nFontSize]] [STYLE cFontStyle] 
      [FOOTER cFooterText] [TITLE cTitleText] [HALFHEIGHT] 
      [DOUBLE | PANEL | NONE | SYSTEM | cBorderString] 
      [CLOSE | NOCLOSE] [FLOAT | NOFLOAT] [GROW | NOGROW] [MDI | NOMDI]
      [MINIMIZE | NOMINIMIZE] [ZOOM | NOZOOM] [ICON FILE FileName1]
      [FILL cFillCharacter | FILL FILE FileName2] 
      [COLOR SCHEME nSchemeNumber   | COLOR ColorPairList]]

Parámetros

  • WindowName1
    Especifica el nombre de la ventana que se va a crear. Los nombres de ventana pueden contener un máximo de 254 caracteres de longitud en Visual FoxPro. Deben empezar con una letra o un signo de subrayado y no pueden comenzar con un número. Pueden contener cualquier combinación de letras, números y signos de subrayado.

  • FROM nRow1, nColumn1 TO nRow2, nColumn2
    Especifica la posición y el tamaño de la ventana definida por el usuario en la ventana principal de Visual FoxPro. FROM nRow1, nColumn1 especifica la posición de la esquina superior izquierda de la ventana definida por el usuario en el interior de la ventana principal de Visual FoxPro. TO nRow2, nColumn2 especifica la posición de la esquina inferior derecha de la ventana definida por el usuario en el interior de la ventana principal de Visual FoxPro.

    Es posible definir una ventana con coordenadas que superen el borde exterior de la ventana de Visual FoxPro y que sean mayores que la ventana principal de Visual FoxPro.

    La ubicación y el tamaño de la ventana están determinados por la fuente de la ventana principal. La ventana principal puede ser otra ventana definida por el usuario o la ventana principal de Visual FoxPro.

  • AT nRow3, nColumn3 SIZE nRow4, nColumn4
    Especifica la posición y el tamaño de una ventana definida por el usuario.

    AT nRow3, nColumn3 especifica la posición de la esquina superior izquierda de la ventana definida por el usuario en la ventana principal de Visual FoxPro. La fuente actual de la ventana primaria determina esta posición. Debido a que la cláusula AT es idéntica a la cláusula FROM en todos los aspectos, las dos cláusulas pueden utilizarse de forma indistinta.

    SIZE nRow4, nColumn4 especifica el tamaño, en filas y columnas, de la ventana definida por el usuario y garantiza que el texto mostrado en una fuente determinada cabe en la ventana creada.

    Si incluye las cláusulas FONT y STYLE puede especificar una fuente y un estilo de fuente para una ventana definida por el usuario. Si especifica una fuente para la ventana e incluye la cláusula SIZE, el alto y el ancho de la fuente de la ventana determinarán su tamaño. Si no especifica una fuente para una ventana, la fuente de la ventana será la fuente predeterminada del sistema, FoxFont de 10 puntos.

  • IN [WINDOW] WindowName2
    Sitúa una ventana definida por el usuario en la ventana primaria. La ventana definida por el usuario se convertirá en una ventana secundaria y no podrá moverse fuera de la ventana primaria. Si se mueve la ventana primaria, la ventana secundaria se moverá con ella.

    Cuando se sitúa una ventana secundaria sobre una ventana primaria, las coordenadas de la ventana secundaria especificadas con las cláusulas FROM y TO o AT y SIZE son relativas a la ventana primaria, no a la ventana principal de Visual FoxPro.

    En el ejemplo siguiente se crea una ventana primaria, wParent. Una ventana secundaria, wChild, se coloca en la ventana primaria.

    CLEAR
    DEFINE WINDOW wParent ;
       FROM 1, 1 TO 20, 30 ;
       TITLE "Parent"         && Parent window.
    ACTIVATE WINDOW wParent 
    DEFINE WINDOW wChild ;
       FROM 1, 1 TO 20, 20 ;
       TITLE "Child" ;
       IN WINDOW wParent       && Child window.
    ACTIVATE WINDOW wChild
    ACTIVATE SCREEN
    WAIT WINDOW 'Press a key to clear the windows'
    RELEASE WINDOW wParent, wChild
    CLEAR
    
  • IN SCREEN
    Coloca explícitamente una ventana definida por el usuario en la ventana principal de Visual FoxPro. Si omite IN SCREEN, la ventana definida por el usuario se situará de forma predeterminada en la ventana principal de Visual FoxPro.

    Puede incluir la cláusula IN WINDOW en ACTIVATE WINDOW para situar la ventana en otra ventana definida por el usuario y anular esta cláusula IN SCREEN.

  • IN DESKTOP
    En Visual FoxPro y en FoxPro para Windows, sitúa una ventana definida por el usuario en el escritorio de Microsoft Windows, fuera de la ventana principal de Visual FoxPro. La posición de la ventana es relativa al escritorio Windows y la fuente actual de la ventana principal de Visual FoxPro.

  • NAME ObjectName
    Crea una referencia de objeto para la ventana, lo que permite manipularla con propiedades orientadas a objetos disponibles para el objeto Form.

    Si desea obtener información adicional acerca de la programación orientada a objetos en Visual FoxPro, vea Programación orientada a objetos. Para obtener información adicional acerca de las propiedades del objeto Form que puede especificar para una ventana creada con la cláusula NAME, vea el tema Form (Objeto).

  • FONT cFontName [, nFontSize]
    Especifica una fuente para el texto de ventana. cFontName es el nombre de la fuente y nFontSize es el tamaño de la fuente. Si omite nFontSize, se utilizará una fuente de 9 puntos.

    Por ejemplo, en Visual FoxPro y en FoxPro para Windows este comando crea una ventana que muestra el resultado dirigido a la ventana con una fuente Courier de 16 puntos:

    DEFINE WINDOW wDisplayFont FROM 2,2 TO 12,22 FONT 'Courier', 16 
    

    Si omite la cláusula FONT, se utilizará FoxFont de 10 puntos. Si la fuente especificada no está disponible, se sustituirá por una fuente de características similares.

  • STYLE cFontStyle
    Especifica un estilo de fuente para el texto escrito en la ventana. cFontStyle especifica la fuente. Si omite la cláusula STYLE o si el estilo de fuente especificado no está disponible, se utiliza el estilo de fuente Normal.

    La tabla siguiente enumera los estilos de fuente y sus caracteres correspondientes.

    Carácter Estilo de la fuente
    B Negrita
    I Cursiva
    N Normal
    Q Opaco
    - Tachado
    T Transparente
    U Subrayado

    Puede incluir más de un carácter para especificar una combinación de estilos de fuente. En Visual FoxPro y en FoxPro para Windows, el siguiente comando especifica el estilo Negrita Cursiva:

    DEFINE WINDOW wDisplayStyle FROM 2, 2 TO 12, 22 STYLE 'BI'
    
  • TITLE cTitleText
    Asigna un título mediante la cláusula TITLE. cTitleText especifica el texto del título y se centra sobre el borde superior de la ventana. Si el título es más ancho que la ventana, se truncará el título.

  • HALFHEIGHT
    Crea una ventana con la barra de título de media altura. Esto proporciona compatibilidad con ventanas creadas en versiones anteriores de FoxPro e importadas a Visual FoxPro.

    Cuando utiliza DEFINE WINDOW para crear una ventana, se utiliza una barra de título de media altura a no ser que incluya la palabra clave SYSTEM o una cláusula FONT.

    Si incluye la palabra clave HALFHEIGHT, se utilizará una barra de título de media altura independientemente de si se incluye o no una cláusula SYSTEM o FONT.

  • DOUBLE | PANEL | NONE | SYSTEM | cBorderString
    Especifica un estilo de borde para una ventana definida por el usuario. El borde predeterminado es una línea sencilla.

    Argumento Descripción
    DOUBLE Especifica un borde de línea doble alrededor de la ventana.
    PANEL Especifica un borde ancho alrededor de la ventana.
    NONE Suprime el borde por completo.
    SYSTEM Especifica que la ventana definida por el usuario tenga la misma apariencia que una ventana del sistema. Cuando incluya otras cláusulas determinadas (GROW, ZOOM, etc.), los controles de ventana adecuados se situarán en el borde de la ventana.
    cBorderString Especifica un borde personalizado. Para obtener más información acerca de la definición de un borde personalizado, vea SET BORDER.

    Si incluye DOUBLE o una cadena de borde personalizada, se creará una ventana con el borde PANEL. Si incluye las cláusulas CLOSE, FLOAT, GROW, ZOOM o MINIMIZE, los controles apropiados se situarán en la ventana aunque no incluya la cláusula SYSTEM de definición de tipo de la ventana.

  • CLOSE
    Le permite cerrar una ventana definida por el usuario mediante el teclado o el mouse. Al cerrar una ventana, se elimina de la ventana principal de Visual FoxPro o de una ventana primaria definida por el usuario, y también se elimina su definición de la memoria. Si omite CLOSE, no podrá cerrar la ventana mediante la interfaz; para cerrar la ventana tendrá que utilizar un comando en un programa o en la ventana Comandos.

  • NOCLOSE
    Impide que el usuario cierre una ventana a no ser que utilice un comando en un programa o en la ventana Comandos.

  • FLOAT
    Le permite mover una ventana definida por el usuario mediante el teclado o el mouse. Si omite FLOAT, no podrá mover la ventana, a no ser que utilice el comando MOVE WINDOW en un programa o en la ventada Comandos.

  • NOFLOAT
    Impide que pueda moverse una ventana a no ser que se utilice el comando MOVE WINDOW en un programa o en la ventana Comandos.

  • GROW
    Le permite cambiar el tamaño de una ventana definida por el usuario mediante el teclado o el mouse. Si omite GROW, no podrá cambiar el tamaño de la ventana a no ser que utilice el comando SIZE WINDOW en un programa o en la ventana Comandos.

  • NOGROW
    Impide que cambie el tamaño de una ventana a no ser que se utilice el comando SIZE WINDOW en un programa o en la ventana Comandos.

  • MDI
    Crea una ventana definida por el usuario que se ajusta a MDI. MDI (interfaz de múltiples documentos) es una especificación que admite múltiples ventanas de documentos y determina su estructura y comportamiento. Si omite MDI, la ventana creada no cumplirá la especificación MDI.

    Cuando se maximiza una ventana que cumple con MDI:

    • La ventana asume el tamaño de la ventana principal de Visual FoxPro. Los controles de la ventana desaparecen y un icono de menú desplegable aparece en la barra de menú del sistema de Visual FoxPro. El botón Restaurar de la ventana se sitúa también en la barra de menús del sistema Visual FoxPro.
    • El título de la ventana se coloca en la barra de título de Visual FoxPro y se separa del título Visual FoxPro con un guión.
    • Si activa otra ventana que cumple con MDI, se maximizará automáticamente.
  • NOMDI
    Crea una ventana que no cumple con MDI.

  • MINIMIZE
    Le permite minimizar una ventana definida por el usuario mediante el teclado o el mouse.

  • NOMINIMIZE
    Le impide minimizar una ventana.

  • ZOOM
    Le permite maximizar una ventana definida por el usuario mediante el teclado o el mouse. También puede restaurar la ventana a su tamaño original.

  • NOZOOM
    Le impide maximizar una ventana.

  • ICON FILE FileName
    Especifica el icono que se mostrará cuando la ventana se minimice. Es necesario incluir la palabra clave MINIMIZE en DEFINE WINDOW. Puede especificar un único archivo de icono (.ico); no puede especificar un archivo de mapa de bits (.bmp).

  • FILL FILE FileName2
    Especifica un papel tapiz (el fondo) para la ventana. La ventana se muestra en mosaico con el FileName2 especificado. Puede especificar un archivo de mapa de bits .bmp.

  • COLOR SCHEME nSchemeNumber
    Especifica los colores para la ventana definida por el usuario. De forma predeterminada, los colores de las ventanas creadas con DEFINE WINDOW se controlan mediante el esquema de colores 1.

  • COLOR ColorPairList
    Especifica los colores para la ventana definida por el usuario.

    Para obtener más información acerca de los esquemas y las parejas de colores, vea el tema Introducción a los colores.

Observaciones

Después de crear ventanas definidas por el usuario con DEFINE WINDOW, se pueden mostrar en la ventana principal de Visual FoxPro con ACTIVATE WINDOW o SHOW WINDOW. El número de ventanas definidas por el usuario que puede crear está limitado únicamente por la cantidad de memoria disponible y por los recursos del sistema.

Las ventanas activadas permanecen en el escritorio o en la ventana principal de Visual FoxPro hasta que se ejecute DEACTIVATE WINDOW o HIDE WINDOW. DEACTIVATE WINDOW o HIDE WINDOW quitan las ventanas de la ventana principal de Visual FoxPro pero no quitan de la memoria las definiciones de ventana. Las ventanas pueden volver a situarse en la ventana principal de Visual FoxPro con ACTIVATE WINDOW o SHOW WINDOW.

Utilice CLEAR WINDOWS o RELEASE WINDOWS para quitar las ventanas de la ventana principal de Visual FoxPro y borrar de la memoria las definiciones de ventana. Las ventanas cuyas definiciones se hayan borrado de memoria deben volverse a crear con DEFINE WINDOW para volverlas a mostrar.

Ejemplo

En el ejemplo siguiente se crea y activa una ventana llamada output. El programa espera a que usted presione una tecla y oculta la ventana. El programa espera a que vuelva a presionar una tecla y vuelve a mostrar la ventana.

CLEAR
DEFINE WINDOW output FROM 2,1 TO 13,75 TITLE 'Output' ;
   CLOSE FLOAT GROW ZOOM
ACTIVATE WINDOW output
WAIT WINDOW 'press any key to hide window output'
HIDE WINDOW output
WAIT WINDOW 'press any key to show window output'
SHOW WINDOW output
WAIT WINDOW 'press any key to release window output'
RELEASE WINDOW  output

Vea también

ACTIVATE WINDOW | DEACTIVATE WINDOW | Introducción a las fuentes | Form (Objeto) | HIDE WINDOW | MODIFY WINDOW | MOVE WINDOW | RELEASE WINDOWS | SET BORDER | SHOW WINDOW