Cambiar Color de la Fuente a un CheckBox en Vfp

Estimado amigo

Tengo una Problemita en Vfp
Deseo que cada vez que pulse un CheckBox este pase un Valor el cual lo hace bien pero
a la vez cambie de Color de la Letra o titulo de Negro o prederminado que bien en Fox
a Azul por Ejemplo. Según yo estoy intentado así:
IF Thisform.Check3.Value=1
     Thisform.Check3.ForeColor="(0,0,128)"
EndIf
Pero me sale el siguiente Error: El tipo de datos no es válido para esta Propiedad

Antemano Mil Gracias

Atentamente,


Jesús

Respuesta
1

Espero poder ayudarte:

.

En tu código hay un error de sintaxis pero también falta que se restablezca a negro.

Se hace todo en una sola línea. Así:

.

this.foreColor=iif(this.value=1,rgb(0,0,128),0)

.

Esta única línea va el valid del ckeck

.

En la respuesta del experto hay un dato que es incorrecto el cual me gustaría corregir:

Dice:

"Siempre que se cambia por programación un color, ya sea de cualquier control.. debes declarar los parámetros de colores con la función RGB() (Red, Green, Blue)"

.

Esto no es así: las propiedades de colores; forecolor, backColor etc, reciben un valor numérico que corresponde al color (un numero). La función RGB basándose en los tres parámetros devuelve ese numero. Pero si ponemos: forecolor=0 (será negro), forecolor=255 (será rojo).

Esto quería aclarar porque muchas veces vas a querer guardar el color de algún objeto y para eso se utiliza un número. Por ejemplo en una tabla de usuarios podría guardar el color de fondo de su pantalla (el color que eligió) y para eso haría: replace color with thisform. BackColor (por ejemplo) y en el dato "color" guardaría un numero que después lo restablezco con thisform.backColor=color (sin usar la funcion RGB)

.

1 respuesta más de otro experto

Respuesta
1

Hola jchavezrch! Un placer saludarte nuevamente. Recuerda hacer la pregunta siempre de forma directa al experto. Estabas en el tablon de preguntas y por eso pasaron varios dias.

Lo que pasa es que en tu codigo te falta agregar la funcion RGB() para indicar tu escala de colores. Siempre que se cambia por programacion un color, ya sea de cualquier control.. debes declarar los parametros de colores con la funcion RGB() (Red, Green, Blue)

Lo correcto seria:

IF Thisform.Check3.Value=1

     Thisform.Check3.ForeColor = RGB(0,0,128)

THISFORM. Check3. Refresh()

EndIf

Proba y me avisas. Eso debe corregir el error.

Desde Managua, Nicaragua!

Ravenn :D :D :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas