Comunidad Gambas-es

Versión completa: Problema con Drag&Drop
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hice un programa que arrastra un PictureBox sobre un Panel

En general funciona correctamente pero no parece responder de manera continua.

Cuando arrastro dentro del Panel hay veces que se pone como si no dejase soltar en ese lugar y otras si de manera un poco aleatoria.

Si lo suelto la imagen la coloca en ese lugar pero el evento Drop del panel no devuelve la información correcta como si no lo hubiese hecho.

Ejemplo:

GAMBAS
  1. Public Sub Panel1_Drop()
  2.   Print "Drag Tag: " & Drag.Source.Tag



Eso no siempre imprime el Tag, como si  no reconociese el Drop sobre el Panel. Sucede cuando se pone en modo que no permite el Drop dentro del Panel. Insisto, la imagen la coloca en el lugar de todos modos pero no se ejecuta el evento Drop.

Hice un cambio y el problema esta al mover el PictureBox dentro de una grilla predefinida. Aparentemente hay logares donde queda el mouse fuera del objeto

Lo que hago es:

GAMBAS
  1. Public Sub Panel1_DragMove()
  2.   Drag.Source.X = Int((Round((Drag.X + Panel1.X) / Grid_Size)) * Grid_Size)
  3.   Drag.Source.Y = Int((Round((Drag.Y + Panel1.Y) / Grid_Size)) * Grid_Size)
  4.   Drag.Source.Raise
  5.   Drag.Show(Drag.Source)
  6.  


(08-08-2022, 19:47)sushisan escribió: [ -> ]Eso no siempre imprime el Tag, como si  no reconociese el Drop sobre el Panel. Sucede cuando se pone en modo que no permite el Drop dentro del Panel. Insisto, la imagen la coloca en el lugar de todos modos pero no se ejecuta el evento Drop.

Hola, sin el código para estudiarlo resulta muy difícil entender la causa del problema, que puede deberse a que no activaste la propiedad Drop del panel o alguna otra cosa.