Pregunta: | 49843 - ARRASTRAR Y SOLTAR UN OBJETO |
Autor: | juan sanchez |
necesito saber que códigos o instrucciones debo utilizar para que un objeto se quede en el lugar donde yo lo mueva |
Respuesta: | Carlos Piña |
Hola. La solución a esto la obtuve en una semana de investigación, probando códigos. Es muy eficiente. El código es el siguiente:
'Variables públicas a nivel de formulario: Dim Mover as Boolean, P1 as Single, P2 as Single 'En el código del objeto que deseas mover debes colocar estas líneas: 'Tomaré como ejemplo un PictureBox. Private Sub Picture1_MouseDown(Button as Integer, Shift as Integer, X as Single, Y as Single) Mover = True: P1 = X: P2 = Y End Sub Private Sub Picture1_MouseMove(Button as Integer, Shift as Integer, X as Single, Y as Single) If Mover Then Picture1.Move Picture1.Left + X - P1, Picture1.Top + Y - P2 End Sub Private Sub Picture1_MouseUp(Button as Integer, Shift as Integer, X as Single, Y as Single) Mover = False End Sub Un consejo que te doy es que no uses los eventos DragDrop ni DragOver, esos funcionan usando propiedades del objeto a arrastrar y es más confuso. Yo no los uso, pero pueden ser una opción también. Coloca un PictureBox en un formulario y pega este código en el módulo de formulario y ejecuta el programa. Espero que te sirva de mucho como a mí. |