Перетаскивание объекта по форме и "прилипание" его к другому объекту - VB

Формулировка задачи:

вот если взять такой код
Private Sub Image3_DragDrop(Source As Control, x As Single, y As Single)
'приклейка
Image3.Picture = Source.Picture
End Sub
Private Sub Image4_MouseDown(button As Integer, shift As Integer, x As Single, y As Single)
'перетаскивание
If button = 1 Then Call Image4.Drag(vbBeginDrag)
End Sub
то он хорошо, приклеивается , но по форме очень не красиво перетаскивается (окантовка объекта тащится только). ПРИ использовании красивого перетаскивания
Private Sub Image4_MouseDown(button As Integer, shift As Integer, x As Single, y As Single)
      m_Dragging = True
     m_StartX = x
    m_StartY = y
End Sub
 
Private Sub Image4_MouseMove(button As Integer, shift As Integer, x As Single, y As Single)
 If m_Dragging Then
    Image4.Move _
          Image4.Left + (x - m_StartX), _
          Image4.Top + (y - m_StartY)
   End If
 End Sub
 
Private Sub Image4_MouseUp(button As Integer, shift As Integer, x As Single, y As Single)
   If m_Dragging Then m_Dragging = False
End Sub
но уже при этом коде не работает присваивание картинки в другую то есть этот кусок
Private Sub Image3_DragDrop(Source As Control, x As Single, y As Single)
Image3.Picture = Source.Picture
End Sub
как сделать красивое перетаскивание + приклеивание ?

Код к задаче: «Перетаскивание объекта по форме и "прилипание" его к другому объекту - VB»

textual
Private Sub Image2_DragDrop(Source As Control, X As Single, Y As Single)
Image2.Picture = Image1.Picture
'Image2.Picture = Image3.Picture
End Sub

14   голосов, оценка 4.071 из 5


СОХРАНИТЬ ССЫЛКУ