Dim flag, ZapomnenaX, ZapomnenaY 'Декларации

 

Private Sub image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

    flag = 1 ' Флаг запомнящ състоянието на мишката-долно положение на бутона

    ZapomnenaX = Image1.Left + X ' Положение по Х на мишката в долно положение на бутона

    ZapomnenaY = Image1.Top + Y  ' Положение по Y на мишката в долно положение на бутона

End Sub

 

Private Sub image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    If flag = 1 Then ' IF позволяващ преместване на обекта само при долно положение на мишката

        dX = Image1.Left + X ' Отклонение по Х при преместване на мишката

        dY = Image1.Top + Y  ' Отклонение по Y при преместване на мишката

        Image1.Left = Image1.Left + dX - ZapomnenaX 'Реално преместване на обекта Image1 по X

        Image1.Top = Image1.Top + dY - ZapomnenaY   'Реално преместване на обекта Image1 по Y

        ZapomnenaX = dX 'Запомняне на последното положение

        ZapomnenaY = dY 'Запомняне на последното положение

    End If

End Sub

 

Private Sub image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

    flag = 0 ' Флаг запомнящ състоянието на мишката-горно положение на бутона

End Sub