Pregunta

Necesito crear un control de perilla rápido y sucio en Visual Basic 2005 Express, cuyo valor se incrementa/disminuye "agarrándolo" con el mouse y moviendo el cursor hacia arriba/abajo.Debido a que la perilla en sí no se mueve, necesito seguir el movimiento del mouse fuera del rectángulo del control.

Uso un Label con un ImageList para implementar esto (tengo una lista de 127 mapas de bits que representan la perilla en varias posiciones).

¿Ante qué eventos debo reaccionar?

¿Fue útil?

Solución

Necesita el control para manejar tres eventos:Ratón abajo, movimiento del ratón y ratón arriba.En el evento Mouse Down, deberás capturar el mouse.Esto significa que los mensajes del mouse se envían al control que tiene la captura.En el evento de movimiento del mouse, si se captura la entrada, actualice la imagen mostrada dependiendo de la cantidad de movimiento del mouse.En el evento del mouse arriba, libere la captura si se captura la entrada.

El valor booleano que sugiere jjnguy es innecesario ya que la propiedad Captura de un control es legible, por lo que es posible determinar si se ha configurado la captura.

Otros consejos

Su problema será determinar qué mapa de bits debe mostrar en función de las coordenadas que informa el mouse en el evento mouse_move.Necesitarás hacer algo de magia para transformar las coordenadas y encontrar un valor que puedas usar para elegir la imagen correcta.

No parece demasiado complicado, sólo un poco de prueba y error en matemáticas.Skizz ya te ha mostrado cómo capturar los eventos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top