Resumen Ejemplo de Drag & Drop

Hola,

Si el Drag & Drop te es un poc lioso, espero que esto te ayude.
Es un poco largo, pero...

'--------------------------------------------------------------------
'Me ha costado cogerle el tranquillo al tema del Drag & Drop, 'ya que
los ejemplos no ayudaban mucho para lo que yo lo quería. 'Se usan:
DragOver, DragDrop, MouseDown y MouseUp. 'El único coñazo es tener que
poner código en todos los controles...
'--------------------------------------------------------------------
'Variables a nivel del módulo Dim DY As Single Dim DX As Single

Private Sub CancelarDrag(Source As Control)
    Source.Visible = True
    Source.Drag vbCancel
End Sub

Private Sub FinalizarDrag(Source As Control, Button As Integer)
    If Button = vbLeftButton Then
        Source.Visible = True
        Source.ZOrder
        Source.Drag vbEndDrag
    End If
End Sub

Private Sub IniciarDrag(Source As Control, Button As Integer, X As
Single, Y As Single)
    If Button = vbLeftButton Then
        DX = X
        DY = Y
        'Permitir la operación de Drag & Drop
        Source.Drag vbBeginDrag
        'Cambiar a no visible, ya que si no, el form no detectaría que
        se ha soltado, si el puntero del ratón no sale del control.
        Source.Visible = False 'Comienza el espectáculo Source.Drag
    End If
End Sub

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
    'Si se quieren excluir algunos controles,
    'hacer aquí la comparación.
    Source.Visible = True
    Source.Move X - DX -60, Y - DY -60
    Source.Drag vbEndDrag
    Source.ZOrder
End Sub

'En cada control poner este código:
(cambiar %Control% por el nombre apropiado)
'
Private Sub %Control%_DragDrop(Source As Control, X As Single, Y As
Single)
    CancelarDrag Source
End Sub
'
Private Sub %Control%_MouseDown(Button As Integer, Shift As Integer, X
As Single, Y As Single)
    IniciarDrag %Control%, Button, X, Y
End Sub
'
Private Sub %Control%_MouseUp(Button As Integer, Shift As Integer, X
As Single, Y As Single)
    FinalizarDrag %Control%, Button
End Sub
'
'Se puede añadir DragOver para que muestre un icono no permitiendo que
se suelte.
'

Saludos.
Guillermo


> De nuevo requiero vuestra ayuda. Mi problema es el siguiente:
>
> He de posibilitar al usuario a insertar una imagen de un conjunto de ellas
> que hay en el form, en los botones de un toolbar existente, es decir, debe
> de poder elegir la imagen que quiere y mediante la opcion de DragDrop y DragOver
> o Drag, poder insertarla dentro del boton que haya elegido.
>
> El problema que me encuentro es que no se como controlar en que boton se
> encuentra
> en cada momento, pues para mas inri, el usuario tiene la opcion de poder
> an~adir y
> borrar botones a su antojo.
>
> Como podeis ver, es un poco dificil, al menos para mi, asi que solicito vuestra
> ayuda urgente.
>
> Desde ahora muchas gracias
>
>
=====================================================
¿No has visitado mis páginas personales?
¿A que esperas?
http://www.wcostasol.es/guiller/indice.htm

NUEVO!!! Ya está el magazine VB Online en castellano:
http://www.wcostasol.es/vbonline/indice.htm
=====================================================



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com