SETCOLOR()
 Devuelve los colores actuales y, opcionalmente, establece nuevos
------------------------------------------------------------------------------
 Sintaxis

     SETCOLOR([<cCadenaColor>]) --> cCadenaColor

 Argumentos

     <cCadenaColor> es una cadena de caracteres que contiene una lista
     de atributos de color para la posterior salida por pantalla. La
     siguiente es una lista de ajustes y ámbitos relacionados:

     Configuraciones de color
     ------------------------------------------------------------------------
     Configuración            Ambito
     ------------------------------------------------------------------------
     Estándar                 Todos los mandatos y funciones de salida
                              por pantalla
     Mejorado                 GET y zonas resaltadas de opciones
     Borde                    Borde alrededor de la pantalla; no se usa
                              en EGA y VGA
     Fondo                    No está soportado
     No selecionado           GET sin seleccionar u opción de menú
                              no accesible
     ------------------------------------------------------------------------

     Cada configuración es un par de colores de primer plano y de fondo
     separados por un carácter de barra (/) y seguidos por una coma. Todas
     las configuraciones son opcionales. Si se ignora una configuración, se
     conserva su valor previo estableciéndose sólo los valores nuevos. La
     configuración de un color se puede saltar en la lista dejando su sitio
     libre o no especificando valores al final de la misma, tal y como
     muestran los ejemplos siguientes.

 Devuelve

     SETCOLOR() devuelve el ajuste de color actual como una cadena de
     caracteres.

 Descripción

     SETCOLOR() es una función de pantalla que guarda la configuración de
     color actual y/o establece nuevos colores para la representación
     posterior de la pantalla. Una cadena de color está formada por varias
     configuraciones de color, correspondiendo cada color a diferentes zonas
     de la pantalla. Tal y como se ha indicado anteriormente, cada
     configuración consta de un color de primer plano y otro de fondo. El de
     primer plano define el color de los caracteres que se muestran en la
     pantalla. El de fondo define el color que se muestra detrás del
     carácter. Los espacios y caracteres que no se visualizan se muestran
     como fondo.

     En CA-Clipper, las configuraciones que definen el comportamiento de los
     colores son:

     Estándar: La configuración estándar controla todos los mandatos y
     funciones de consola, de pantalla completa  y de interfaz cuando se
     muestran en la pantalla. Esto incluye mandatos como @...PROMPT, @...SAY
     y ?, y funciones como ACHOICE(), DBEDIT() y MEMOEDIT().

     Mejorado: La configuración mejorada controla la visualización de
     las zonas resaltadas. Esto incluye GET si se ha establecido SET
     INTENSITY ON y las zonas resaltadas de selección de MENU TO, DBEDIT() y
     ACHOICE().

     Borde: El borde es un área situada alrededor de la pantalla en la
     cual no puede escribirse.

     Fondo: El fondo no se utiliza.

     No seleccionado: Esta configuración se usa para visualizar los GET
     no seleccionados y las opciones de menú no disponibles.

     Además de color, los ajustes de primer plano pueden tener atributos de
     intensidad alta y/o parpadeo. Con una pantalla monocroma, la intensidad
     alta aumenta el brillo del texto. Con una pantalla en color, la
     intensidad cambia la tonalidad del color especificado. Por ejemplo, "N"
     muestra el texto de primer plano en negro, mientras que "N+" lo muestra
     en gris. La intensidad alta viene indicada mediante "+". El atributo de
     parpadeo hace que el texto de primer plano aparezca y desaparezca a
     intervalos rápidos. Este atributo se indica mediante "*". El carácter
     de atributo puede estar en cualquier punto de la cadena de
     configuración, pero siempre afecta al color de primer plano con
     independencia del lugar en que se introduzca. Si desea más información,
     consulte SETBLINK().

     Pueden utilizarse los siguientes colores:

     Lista de colores
     ------------------------------------------------------------------------
     Color              Letra        Monocromo
     ------------------------------------------------------------------------
     Negro              N, Espacio   Negro
     Azul               B            Subrayado
     Verde              G            Blanco
     Cian               BG           Blanco
     Rojo               R            Blanco
     Magenta            RB           Blanco
     Marrón             GR           Blanco
     Blanco             W            Blanco
     Gris               N+           Blanco
     Azul Intenso       B+           Subr. Intenso
     Verde Intenso      G+           Blanco Intenso
     Cian Intenso       BG+          Blanco Intenso
     Rojo Intenso       R+           Blanco Intenso
     Magenta Intenso    RB+          Blanco Intenso
     Amarillo           GR+          Blanco Intenso
     Blanco Intenso     W+           Blanco Intenso
     Negro              U            Subrayado
     Vídeo Inverso      I            Vídeo Inverso
     En Blanco          X            En Blanco
     ------------------------------------------------------------------------

 Notas

     ■ Argumentos no especificados: Al contrario que SET COLOR TO,
        SETCOLOR() sin argumentos no restaura los colores a sus valores por
        defecto.

     ■ Números de colores: SETCOLOR() admite combinaciones de letras
        de colores pero no de números de colores.

 Ejemplos

      Este ejemplo asigna la configuración de color actual a la
        variable cColor:

        cColor:= SETCOLOR()

      Este ejemplo utiliza SETCOLOR() para guardar la configuración
        de color actual y establecer una nueva.

        cColorNuevo:= "BR+/N, R+/N"
        cColorAntiguo:= SETCOLOR(cColorNuevo)

      Este ejemplo utiliza SET COLOR TO para volver a establecer los
        colores por defecto:

        SET COLOR TO
        ? SETCOLOR()                 // Resultado: W/N, N/W, N, N, N/W

      Estos dos ejemplos especifican SETCOLOR() omitiendo algunas
        configuraciones:

        // Configuraciones omitidas
        SETCOLOR("W/N, BG+/B")
        //
        // Configuraciones ignoradas dentro de la lista
        SETCOLOR("W/N, BG+/B,,,W/N")

      Este ejemplo utiliza SETCOLOR() con ISCOLOR() para establecer
        los colores dependiendo del tipo de pantalla:

        FUNCTION ColoresDefecto
           IF ISCOLOR()
              cFormulario := "W+/N, BG+/B,,,W/N"
              cDialogo := "N/N+, BG+/B,,,N/N+"
              cAviso := "W+/R, BG+/B,,,W+/R"
           ELSE
              cFormulario := "W+/N, N/W,,,W/N"
              cDialogo := "W+/N, N/W,,,W/N"
              cAviso := "W+/N, N/W,,,W/N"
           ENDIF
           RETURN NIL

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: SET COLOR* SET INTENSITY