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

Algo como el Form del ide? (SOLUCIONADO)
#1

Buenos días a todos.

Necesito implementar algo que se comporte como el Form en el IDE: que se pueda arrastrar "algo" (una imagen por ejemplo) y se coloque según una grilla, pero que , una vez colocado, pueda volverse a arrastrar de nuevo para reubicarlo. Intente un drag/drop sobre un Drawapanel y dibujar la imagen, lo cual funciona correctamente, pero eso no puede volver a reubicarse de la misma manera, queda fijo. Lo cual es correcto porque el nuevo dibujo no es un objeto si no un dibujo sobre el DrawPanel.

Hay algo parecido o un ejemplo de algo similar?
    ¡Gracias!
#2

Echa un vistazo al código adjunto. Espero que le sirva de ayuda.


Archivos adjuntos
.gz Drag&Drop2-1.0.tar.gz Tamaño: 24.86 KB  Descargas: 3
    ¡Gracias!
#3

Muchas gracias!

Lo voy a revisar
    ¡Gracias!
#4

Se me ocurrió resolverlo de la siguiente manera:

GAMBAS
  1. Public Grid_Size As Integer = 1
  2.  
  3. Public Sub Form_Open()
  4.  
  5.   PanelInit(640, 1200, 10)
  6.  
  7.  
  8. Public Sub PanelInit(height As Integer, width As Integer, gridSize As Integer)
  9.  
  10.   Panel1.Drop = True
  11.   Panel1.Height = height
  12.   Panel1.Width = width
  13.   Panel1.Border = 2
  14.  
  15.   DrawingArea1.Height = height
  16.   DrawingArea1.Width = width
  17.  
  18.   Grid_Size = gridSize
  19.   Drag.icon = Picture["drop.png"]
  20.  
  21.  
  22. Public Sub Label1_MouseDrag()
  23.  
  24.   Label1.Drag("")
  25.  
  26.  
  27. Public Sub Label2_MouseDrag()
  28.  
  29.   Label2.Drag("")
  30.  
  31.  
  32. Public Sub Panel1_DragMove()
  33.  
  34.   Drag.Source.X = (Round((Drag.X + Panel1.X) / Grid_Size)) * Grid_Size
  35.   Drag.Source.Y = (Round((Drag.Y + Panel1.Y) / Grid_Size)) * Grid_Size
  36.   Drag.Source.Raise
  37.  
  38.  
  39. Public Sub DrawingArea1_Draw()
  40.  
  41.   For x As Integer = 4 To DrawingArea1.Width - 4 Step Grid_Size
  42.     For y As Integer = 4 To DrawingArea1.Height - 4 Step Grid_Size
  43.       Paint.Begin(DrawingArea1)
  44.       With Paint
  45.         .Brush = Paint.Color(Color.gray)
  46.         .Arc(x, y, 1.0, Rad(0), Rad(360), False)
  47.         .Fill
  48.         .End
  49.       End With
  50.       Paint.end
  51.     Next
  52.   Next
  53.  


    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje
Último mensaje por Shell
29-06-2022, 21:39

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)