Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Problema con Drag&Drop
#1

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.  


    ¡Gracias!
#2

(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.

1 Saludo.
    ¡Gracias!


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)