Пермещение объекта в позицию другого объекта по его клику - VB

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

Имеется command1 и command2 Как сделать чтобы при нажатии на command2, command1 перемещалась в позицию command2 только не сразу параметрами .top и .left а именно чтобы еще направление показывало движения постепенно ? т.е траектория движения вычислялась и по таймеру перемещался прямо на него ?

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

textual
Dim iStepCount As Long
Dim iToTop As Long
Dim iToLeft As Long
Dim iSteps As Long
Dim iStepTop As Long
Dim iStepLeft As Long
 
Private Sub command2_Click()
    iStepCount = 10 'количество шагов
    iToTop = command2.Top
    iToLeft = command2.Left
    iStepTop = (iToTop - command1.Top) / iStepCount
    iStepLeft = (iToLeft - command1.Left) / iStepCount
    iSteps = iStepCount
    tm.Enabled = True
End Sub
 
Private Sub tm_Timer()
    With command1
        If .Top <> iToTop Then
            iSteps = iSteps - 1
            .Top = iToTop - iSteps * iStepTop
            .Left = iToLeft - iSteps * iStepLeft
        Else
     tm.Enabled = False
        End If
    End With
End Sub

7   голосов, оценка 4.000 из 5


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