DISPBOX() 
 Muestra un cuadro en la pantalla
------------------------------------------------------------------------------
 Sintaxis

     DISPBOX(<nSup>, <nIzq>, <nInf>, <nDer>,
        [<cnCadenaCuadro>], [<cCadenaColor>]) --> NIL

 Argumentos

     <nSup>, <nIzq>, <nInf> y <nDer> definen las coordenadas
     del cuadro. DISPBOX() dibuja un cuadro utilizando valores de fila
     comprendidos entre cero y MAXROW() y valores de columna entre cero y
     MAXCOL(). Si <nInf> y <nDer> son mayores que MAXROW() y MAXCOL(), el
     ángulo inferior derecho se dibuja fuera de la pantalla.

     <cnCadenaCuadro> es una expresión numérica o de caracteres que
     define los caracteres de borde del cuadro. Si se especifica como una
     expresión numérica, el valor 1 muestra un cuadro de una línea y el
     valor 2 muestra un cuadro de dos líneas. El resto de valores numéricos
     muestran un cuadro de una sola línea.

     Si <cnCadenaCuadro> es una expresión de caracteres, especifica los
     caracteres que van a utilizarse para dibujar el cuadro. Esta es una
     cadena de ocho caracteres de borde y uno de relleno. Si se especifica
     <cnCadenaCuadro> como un sólo carácter, dicho carácter se utiliza para
     dibujar todo el cuadro.

     Si no se especifica este argumento, se dibuja un cuadro de una sola
     línea.

     <cCadenaColor> define el color de pantalla del cuadro que se va a
     dibujar. Si no se especifica, el cuadro se dibuja en el color estándar
     del sistema actual, tal como se define con SETCOLOR().

 Devuelve

     DISPBOX() devuelve siempre NIL.

 Descripción

     DISPBOX() es una función de pantalla, que dibuja un cuadro en las
     coordenadas de pantalla especificadas, en el color indicado. Si
     especifica <cnCadenaCuadro>, DISPBOX() dibuja un cuadro en la pantalla,
     utilizando un borde configurable y caracteres de relleno. DISPBOX()
     dibuja el cuadro utilizando <cnCadenaCuadro> comenzando por el ángulo
     superior izquierdo, siguiendo en sentido de las agujas del reloj y
     llenando el área de la pantalla con el noveno carácter. Si no se
     especifica dicho carácter, el área de pantalla dentro del cuadro no se
     dibuja. El texto existente y el color permanecen inalterables.

     Si <cnCadenaCuadro> observa las convenciones de CA-Clipper, el
     funcionamiento de DISPBOX() no se modifica. Es fácil modificar el
     funcionamiento de esta función para aprovecharse de las ventajas del
     modo gráfico. Por ejemplo, es posible sustituir el borde estándar del
     cuadro con líneas simples o dobles en relieve. Sólo hay que especificar
     lo siguiente en <cCadenaCuadro>:

     CHR(2) + CHR(nColor+1)  // dibuja un cuadro 16x8x16x8
     CHR(3) + CHR(nColor+1)  // dibuja un cuadro 8x8x8x8
     CHR(4) + CHR(nColor+1)  // dibuja un cuadro 16x16x16x16
     CHR(5) + CHR(nColor+1)  // dibuja un cuadro 16x8x8x8

     Recuerde que <nColor> es una representación numérica del color. Debe
     sumarse una unidad a su valor.

     Puede utilizarse CHR(2) + CHR(nColor+1) en lugar de las constantes de
     CA-Clipper B_SINGLE y B_DOUBLE.

     CA-Clipper proporciona dos #defines, LLG_BOX_GRAY_STD y
     LLG_BOX_GRAY_SQUARE, para dibujar cuadros grises (nColor=7) de anchura
     16x8 ó 16x16.

     Es posible personalizar el cuadro utilizando chr(1) + ... como primer
     parámetro:

     CHR(1)             + ;  // Cuadro
     CHR(nColorFondo+1) + ;  // Color de relleno de fondo
     CHR(nColorBrillo+1)+ ;  // Color para resaltar el borde
     CHR(nColorSombra+1)+ ;  // Color para el sombreado del borde
     CHR(nAnchuraSup)   + ;  // Anchura del borde superior
     CHR(nAnchuraDer)   + ;  // Anchura del borde derecho
     CHR(nAnchuraInf)   + ;  // Anchura del borde inferior
     CHR(nAnchuraIzq)        // Anchura del borde izquierdo

     Después de ejecutar DISPBOX(), el cursor se encuentra en el ángulo
     superior de la región del cuadro, en <nSup> + 1 y <nIzq> + 1. ROW() y
     COL() también se actualizan para reflejar la nueva posición del
     cursor.

     Recuerde que Box.ch, situado en \CLIP53\INCLUDE, proporciona constantes
     para diversas configuraciones de borde.

 Notas

     El número de colores disponibles depende de la configuración del modo
     de vídeo actual ( SET VIDEOMODE ).

 Ejemplos

      Este ejemplo muestra un cuadro de línea doble utilizando un
        valor numérico para especificar el borde del cuadro:

        #define B_SINGLE        1
        #define B_DOUBLE        2
        //
        DISPBOX(1, 1, 10, 10, B_DOUBLE, "BG+/B")

      Este ejemplo muestra un cuadro de una sola línea en la parte
        superior y un cuadro con dos líneas en la parte lateral de la caja,
         especificando caracteres de borde con una constante definida en
        Box.ch:

        #include "Box.ch"
        //
        DISPBOX(1, 1, 10, 10, B_SINGLE_DOUBLE, "BG+/B")

      Este ejemplo dibuja un cuadro en relieve. Puede utilizarse en
        el modo gráfico:

        // Dibuja un cuadro con aspecto 3D de anchura fija 16x16x16x16
        DISPBOX( nSup, nIzq, nInf, nDer, LLG_BOX_GRAY_SQUARE )
        // Escribe un texto transparente en el borde 3D
        GWRITEAT(  nIzq * GMODE()[LLG_MODE_FONT_COL] ,;
        nSup  * GMODE()[LLG_MODE_FONT_ROW] ,;
        "Esto es un texto...",;
        4,;
        LLG_MODE_SET )

 Ficheros   La biblioteca asociada es LLIBG.LIB,
            el fichero de cabecera asociado es Llibg.ch.
 To download this example - click here.

See Also: GFRAME() GMODE() SET VIDEOMODE