Restituir valor de forecolor

Saludos davsoft. Mira yo he hecho una clase para usar botones sin cuadros o sea solo muestra el caption de un label incluido en la clase basada en un command. En el evento mousemove pongo
WITH this
.label1.FontBold = .T.
.label1.ForeColor = RGB(255,0,0)
endwith         
 para mostrar el texto resaltado y en rojo cuando pasa el raton por el control.
Pero no se como restituir el color anterior aun cuando estoy poniendo el siguiente código en mousedown, mouseup y mouseleave.
with this
  .Label1.FontBold = .f.
  .label1.ForeColor = cForecolor
   this.Refresh
endwith
cForecolor es una variable donde guardo el label1. Forecolor. Me restituye el fontbold a .f. Pero el color que tenia el caption del label antes de pasar el mouse por el control no lo restituye. También probé poniendo ese código en lostfocus y otros eventos pero nada.
Saludos desde venezuela. Espero puedas ayudarme. Gracias

1 Respuesta

Respuesta
1
El problema creo que radica en el inicialización de cForecolor, ¿dónde se inicializa?, ¿Qué valor toma esta variable? ¿Qué valor tiene esta variable al momento de utilizarlo?, creo que la mejor opción es que crees un propiedad o dos en este caso, uno el forecolor normal y el otro forecolor cuando el mouse este encima, entonces estas propiedades se le asigna al momento, pero deben ser invariables, también el problema es que existe mucha similitud entre los eventos que usas, cual se ejecuta primero, debes analizar bien esa parte, creo que si le agregas las propiedades por ejemplo
objeto.color1 = getcolor()
objeto.color2 = getcolor()
Y luego le asignas, al recibir el enfoque le pones color2 y al perder el enfoque le pones color1, prueba primero con gotfocus y lostfocus, luego con el tema del mouse, ahí veras la diferencia y que el problema también radica en los eventos mousemove y mousedown, prueba y me avisas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas