Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: Gercho en Febrero 28, 2010, 07:14:00 pm

Título: Drag & Drop de Shapes
Publicado por: Gercho en Febrero 28, 2010, 07:14:00 pm
Buenas tardes, ¿cómo andan? Espero que de 10.

Bueno, les queria preguntar si se puede hacer algun drag & drop de shapes. En caso de que se pueda, no me dejarian el código.

Desde ya, gracias.
Saludos!
Título: Re:Drag & Drop de Shapes
Publicado por: erbuson en Febrero 28, 2010, 07:32:08 pm
Hola, imagino que la respuesta es que no se puede ya que si compruebas las propiedades veras que no tienen propiedad DragMode y por otra parte no tienen Eventos.

Título: Re:Drag & Drop de Shapes
Publicado por: coco en Febrero 28, 2010, 07:41:48 pm
Buenas tardes, ¿cómo andan? Espero que de 10.

Bueno, les queria preguntar si se puede hacer algun drag & drop de shapes. En caso de que se pueda, no me dejarian el código.

Desde ya, gracias.
Saludos!
lo que pasa es que son controles windowless, por eso no tienen handle ni eventos. porque no metes un shape adentro de un picture? eso por ahi te sirve

salduos
Título: Re:Drag & Drop de Shapes
Publicado por: Gercho en Febrero 28, 2010, 07:49:41 pm
Es buena idea esa, pero no hay ninguna forma de hacerlo?

Saludos!
Título: Re:Drag & Drop de Shapes
Publicado por: coco en Febrero 28, 2010, 08:00:16 pm
Es buena idea esa, pero no hay ninguna forma de hacerlo?

Saludos!

No, porque es WINDOWLESS, hay otros metodos para hacerlo, pero te vas a volver perra por una pavada! te conviene hacerlo con el picture.

saludos
Título: Re:Drag & Drop de Shapes
Publicado por: Gercho en Febrero 28, 2010, 08:22:14 pm
Ok. Ya que no se puede, no se puede hacer que los labels sean redondos. Porque queria algun drag & drop con alguna herramienta que sea redonda.

Saludos!
Título: Re:Drag & Drop de Shapes
Publicado por: coco en Febrero 28, 2010, 08:26:52 pm
Ok. Ya que no se puede, no se puede hacer que los labels sean redondos. Porque queria algun drag & drop con alguna herramienta que sea redonda.

Saludos!

eso no lo entendi. como que sean redondos? vos te referis a usarlos opacos y cortarle el fondo? te recomiendo que uses un control de usuario y en el mismo uses regiones (bordes redondos) sobre el hwnd del user control. saludos
Título: Re:Drag & Drop de Shapes
Publicado por: cobein en Febrero 28, 2010, 10:12:49 pm
Hay una manera bastante simple de simularlo.

Pone eso en un form y pone un par de shapes por ahi y listo
Código: [Seleccionar]
Option Explicit

Dim lXOffset As Single
Dim lYOffset As Single
Dim objCur As Object
   
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    lXOffset = X: lYOffset = Y
    Set objCur = ControlFromPoint(lXOffset, lYOffset)
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button Then
        If Not objCur Is Nothing Then
            objCur.Left = X - lXOffset
            objCur.Top = Y - lYOffset
        End If
    End If
End Sub

Private Function ControlFromPoint(X As Single, Y As Single) As Object
    Dim obj As Object
    On Error Resume Next
    For Each obj In Me
        If X > obj.Left And X < obj.Left + obj.Width Then
            If Y > obj.Top And Y < obj.Top + obj.Height Then
                Set ControlFromPoint = obj
                X = X - obj.Left
                Y = Y - obj.Top
                Exit Function
            End If
        End If
    Next
End Function

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Set objCur = Nothing
End Sub
Título: Re:Drag & Drop de Shapes
Publicado por: Gercho en Febrero 28, 2010, 10:17:52 pm
Muchas gracias Cobein, me re sirve.

Gracias.

Saludos!