Los recursos de Internet en el poder de tus manos
Hola amigos.
Pues hace unos años me toco estar en Medios Didácticos en donde tuve que pasar ciertas pruebas para lograr estar ahà ayudandoles con las programaciones
y ahi uno de los programas que tuve que hacer fue de poder arrastrar un boton con el mouse en tiempo de ejecución (esto se podrÃa usar para hacer programas multimedia, juegos interactivos o cualquier cosa que se te ocurra); la diferencia fue que en ese entonces lo hice en el Macromedia Director (ahorita no se si siga existiendo) y pues hoy en este rato que no tenÃa nada que hacer se me ocurrio hacerlo nuevamente pero en Visual Basic .NET (ya que lo acabo de aprender en la escuela) y aquà esta el codigo resultante:
NOTA: mas abajo lo explico paso a paso...
Y bueno, al correrlo te deberÃa quedar algo como esto :
Ahora deja te lo explico brevemente (aunque el codigo esta totalmente comentado)... En teorÃa, esto es lo que hacemos
- Primero lo que sucede cuando uno desea arrastrar un boton, es colocarte sobre él y dar click, despúes comienzas a mover el mouse. Bueno pues nosotros es lo que intentamos simular.
- Sabiendo esto, lo primero que necesitamos hacer es saber si el ususario ya ha presionado click dentro del boton. Esto, porque nuestro codigo solo iniciará a ejecutarse cuando el user presione click sobre el boton (ya que nuestro codigo estará en el evento "MouseMove" el cual es lanzado cuando el mouse se esta moviendo encima del boton, pero ¿que tal si el usuario solo esta moviendo el mouse por encima de éste pero no desea arrastrarlo? para eso, hemos usado una bandera llamada "Moviendose" la cual nos indica si el usuario ya ha presionado click sobre el boton. Sà esta bandera es igual a "true" significa que el user ya ha presionado el boton, por lo tanto ejecutaremos nuestro codigo)
- Ahora lo primero que tenemos que hacer despues de que el usuario presionó el boton, es obtener las coordenadas del puntero (cursor), ya veras para que. Estas coordenadas solo se obtendrán una vez por arrastre (es decir que se obtendrán solo al inicio de que se comienza a arrastrar el boton y no se volverán a obtener hasta que el usuario alla terminado de arrastrar el boton, soltar el click, y volver a presionar click sobre el boton). Para saber si es el inicio de la arrastrada del boton, usaremos una bandera llamada "PrimeraMovida".
- Bueno, teniendo en cuenta esto, ya solo nos queda estar reposicionando el boton dependiendo de la posición nueva del cursor. Esto lo hacemos en el evento "MouseMove" para que cada vez que vb.net detecte que se esta moviendo el cursor encima del boton, cambiar las coordenadas del boton para que se coloque a una nueva posicion proporcional a la nueva posición del cursor (provocando el efecto de movimiento del mouse a la par del cursor)
- Observa esta imágen y veras como hago el reposicionamiento del boton respecto del mouse.
Espero y todo te alla quedado claro
cualquier cosa comentala aquà porfa jeje.. Aquà te dejo los archivos para que los descargues:
Descargas
Este blog tiene la intensión de facilitarle al lector el gran contenido existente en internet en sus amplias y variadas temáticas como el ocio, los videojuegos, peliculas, series, autos, recetas, descargas, recomendaciones, programaciones y cualquier cosa que se me valla ocurriendo con el tiempo. Tengo la intensión de estar actualizando el blog constantemente y así proporcionarle la mejor información al lector.
Cualquier duda, comentario o sugerencia por favor escríbelo aquí en los comentarios
maxi
February 8th, 2008 at 6:39 am
Hola, mi nombre es maximiliano cañas, me gustaria saber como puedo dar efectos tipo power point pero desde vb.net… desde ya muchas gracias:)
Angel López
February 8th, 2008 at 7:52 am
hola @maxi:
emm la verdad no se si ya exista alguna clase o librerÃa que incoropore funciones de lectura y edicion de archivos de power point (me imagino que si debe de haber). Igual y tu podrias programar algunos efectos de transicion, usando las coordenadas de los objetos para hacer que se muevan desde un lado de la pantalla hasta otro extremo y emular un efecto en powepoint.. saludos
viviana isabel
February 21st, 2008 at 8:12 am
me sirvio de gran ayuda gracias por el codigo eres un excelente programador me gustaria contactacte
Hugo
May 28th, 2008 at 6:14 pm
Excelente tema genio, me ha ayudado mucho. Gracias por compartirlo con el mundo.
Poncho
June 21st, 2008 at 5:29 pm
Excelente amigo me fue de gran ayuda
muchas gracias que estes bien
Manue Gómez
October 10th, 2008 at 12:08 pm
Muchas gracias Angel, me sirvio demasiado el código, ya que este lo estube revisando desde hace mucho rato en la internet… Te felicito por e código y por ponerlo al servicio de los demás.
Beto
November 24th, 2008 at 4:42 pm
Muy bien, me sirvio de mucho, gracias