sushisan   07-08-2022, 16:29
#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?
Última modificación: 08-08-2022, 01:16 por sushisan.
cogier   07-08-2022, 18:40
#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)
sushisan   07-08-2022, 18:45
#3
Muchas gracias!

Lo voy a revisar
sushisan   08-08-2022, 01:15
#4
Se me ocurrió resolverlo de la siguiente manera:

Código:
Public Grid_Size As Integer = 1

Public Sub Form_Open()

  PanelInit(640, 1200, 10)

End

Public Sub PanelInit(height As Integer, width As Integer, gridSize As Integer)
 
  Panel1.Drop = True
  Panel1.Height = height
  Panel1.Width = width
  Panel1.Border = 2
 
  DrawingArea1.Height = height
  DrawingArea1.Width = width
 
  Grid_Size = gridSize
  Drag.icon = Picture["drop.png"]
 
End

Public Sub Label1_MouseDrag()

  Label1.Drag("")

End

Public Sub Label2_MouseDrag()

  Label2.Drag("")

End

Public Sub Panel1_DragMove()

  Drag.Source.X = (Round((Drag.X + Panel1.X) / Grid_Size)) * Grid_Size
  Drag.Source.Y = (Round((Drag.Y + Panel1.Y) / Grid_Size)) * Grid_Size
  Drag.Source.Raise

End

Public Sub DrawingArea1_Draw()

  For x As Integer = 4 To DrawingArea1.Width - 4 Step Grid_Size
    For y As Integer = 4 To DrawingArea1.Height - 4 Step Grid_Size
      Paint.Begin(DrawingArea1)
      With Paint
        .Brush = Paint.Color(Color.gray)
        .Arc(x, y, 1.0, Rad(0), Rad(360), False)
        .Fill
        .End
      End With
      Paint.end
    Next
  Next
 
End
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.