Cambiar imagen

Lo que quiero lograr es cambiar la imagen de un botón cuando paso con el mouse por encima de el y luego restablecer la imagen cuando el mouse ya no se mueva dentro de su área.
El evento MouseMove no me sirve porque no se detecta cuando la velocidad del mouse es muy elevada, sobre todo cuando hay más de un botón y el espacio que queda entre los mismos es muy reducido como para llegar a restablecer la imagen con el evento MouseMove del formulario.
Desde ya agradezco tu ayuda. Saludos
1

1 respuesta

Respuesta
1
Por lo que me dices estás haciendo lo correcto, esto es: cambiar la imagen con el MouseMove del botón, y restaurarla con el MouseMove del formulario.
Yo creo que sólo te falta una cosa: Pon una instrucción "DoEvents" al final de cada MouseMove para dar tiempo a que se refresquen las imágenes.
Si eso no funciona quizá sea porque estés haciendo trabajar mucho al programa, si realmente en cada mouse move del botón y en cada mouse move del formulario, modificas la imagen del botón.
Yo haría lo siguiente: Montate una variable booleana que represente el estado de la imagen. Por ejemplo Verdadero para la imagen correspondiente al cursor en el botón y False para la imagen con el cursor fuera.
En los eventos Move, antes de nada, verifica el estado de la variable, de modo que si el botón ya tiene la imagen apropiada, sale del evento sin hacer nada. Esto acelerará mucho el proceso y permitirá dar tiempo a refrescar las imágenes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas