versión 2004 (Modificado)
SET RGB COLORS ({*; }objeto; colorPrimerPlano; colorFondo{; colorFondoAlt})
Parámetro | Tipo | Descripción | |
* | Si se especifica, objeto es un nombre de objeto (cadena) | ||
Si se omite, objeto es un campo o una variable | |||
objeto | Objeto | Nombre de objeto (si se especifica *), o | |
Campo o variable (si se omite *) | |||
colorPrimerPlano | Numérico | Valor del color RGB del primer plano | |
colorFondo | Numérico | Valor del color RGB del fondo | |
colorFondoAlt | Numérico | Valor del color RGB del fondo alterno |
Descripción
El comando SET RGB COLORS cambia los colores de fondo y primer plano de los objetos especificados por objeto y el parámetro opcional *. Cuando el comando se aplica a un objeto list box , un parámetro adicional le permite modificar el color alterno de las filas.
Si pasa el parámetro opcional *, especifica que el parámetro objeto es el nombre de objeto (una cadena). Si omite el parámetro opcional *, especifica que objeto es un campo o una variable. En este caso, usted no pasa en objeto una cadena sino una referencia a un campo o a una variable (campo o variable de tipo objeto únicamente) en lugar de una cadena. Para mayor información sobre nombres de objetos, consulte la sección Propiedades de los objetos.
El parámetro opcional colorFondoAlt le permite definir un color alternativo para el fondo de las líneas pares. Este parámetro sólo se utiliza cuando el objeto se especifica como List box o columna de List box. Cuando se utiliza este parámetro, el parámetro colorFondo se utiliza para las líneas impares únicamente. La utilización de colores alternativos hace que las listas sean más fáciles de leer.
Si objeto especifica un objeto List box, los colores alternos se utilizan en todo el List box. Si objeto especifica una columna del List box, sólo la columna utilizará los colores definidos.
Los valores de los colores se indican en RGB en colorPrimerPlano, ColorFondo y colorFondoAlt. Un valor RGB es un entero largo de 4 bytes cuyo formato (0x00RRGGBB) se describe en la siguiente tabla (los bytes son numerados de 0 a 3, de derecha a izquierda):
Byte | Descripción |
3 | Debe ser cero para un color RGB absoluto |
2 | Componente rojo del color (0..255) |
1 | Componente verde del color (0..255) |
0 | Componente azul del color (0..255) |
La siguiente tabla muestra algunos ejemplos de valores de color RGB:
Valor | Descripción |
0x00000000 | Negro |
0x00FF0000 | Rojo vivo |
0x0000FF00 | Verde vivo |
0x000000FF | Azul vivo |
0x007F7F7F | Gris |
0x00FFFF00 | Amarillo vivo |
0x00FF7F7F | Rojo pastel |
0x00FFFFFF | Blanco |
De manera alternativa, usted puede especificar uno de los colores "sistema" utilizado por 4D para dibujar los objetos cuyos colores son definidos automáticamente. Las siguientes constantes predefinidas son propuestas por 4D:
Constante | Tipo | Valor |
Foreground color | Entero largo | -1 |
Background color | Entero largo | -2 |
Dark shadow color | Entero largo | -3 |
Light shadow color | Entero largo | -4 |
Highlight text background color | Entero largo | -7 |
Highlight text color | Entero largo | -8 |
Highlight menu background color | Entero largo | -9 |
Highlight menu text color | Entero largo | -10 |
Disable highlight item color | Entero largo | -11 |
Estos colores (en un sistema estándar) son los siguientes:
Advertencia: Estos colores automáticos son dependientes del sistema. Si usted cambia sus colores sistema, 4D ajustará automáticamente los colores. Utilice los valores de colores automáticos para asignar a los objetos los colores sistema, y no para asignar los mismos colores que los definidos en el ejemplo anterior.
Ejemplos
Este formulario contiene dos variables editables, vsColorValor y vsColor así como tres termómetros: thRojo, thVerde, y thAzul.
Estos son los métodos de estos objetos:
` Método de objeto de la variable no editable vsColorValor Case of : (Form event=On Load) vsColorValor:="0x00000000" End case ` Método de objeto de la variable no editable vsColor Case of : (Form event=On Load) vsColor:="" SET RGB COLORS(vsColor;0x00FFFFFF;0x0000) End case ` Método de objeto del termómetro thRojo CLIC EN TERMOMETRO DE COLOR ` Método de objeto del termómetro thVerde CLIC EN TERMOMETRO DE COLOR ` Método de objeto del termómetro thAzul CLIC EN TERMOMETRO DE COLOR
El método de proyecto llamado por los tres termómetros es:
` Método de proyecto CLIC EN TERMOMETRO DE COLOR SET RGB COLORS(vsColor;0x00FFFFFF;(thRojo << 16)+(thVerde << 8)+thAzul) vsColorValor:=String((thRojo << 16)+(thVerde << 8)+thAzul;"&x") If (thRojo=0) vsColorValor:=Substring(vsColorValor;1;2)+"0000"+Substring(vsColorValor;3) End if
Note la utilización de los Bitwise operators para el calculo de los valores de los colores a partir de los valores de los termómetros.
En ejecución, el formulario se ve así:
Ver también
Operadores de bits, Select RGB Color, SET COLOR.