Option Explicit
Dim pi As Double
Dim runTime As Double
Dim A As Single, B As Single
Dim cntX As Single, cntY As Single
Dim R As Single
Private WithEvents Timer1 As Timer
Dim tX As Single, tY As Single
Dim tStep As Single
Private Sub Form_Load()
Me.ScaleMode = 3
Me.AutoRedraw = True
pi = Atn(1)
Set Timer1 = Controls.Add(“vb.timer”, “Timer1”)
A = 50 '椭圆长轴
B = 50 '椭圆短轴
cntX = Me.ScaleWidth / 2 '中心坐标X
cntY = Me.ScaleHeight / 2 '中心坐标Y
R = 10 '圆半径
Timer1.Interval = 50 '运动间隔(毫秒)
tStep = pi / R '角度步长
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
runTime = runTime + 1
Dim Arg As Double
Arg = runTime * tStep
tX = cntX + A * Cos(Arg)
tY = cntY + B * Sin(Arg)
Me.Cls
Me.DrawStyle = 2
Me.ForeColor = RGB(0, 0, 0)
Me.Circle (cntX, cntY), A, , , , B / A
Me.DrawStyle = 0
Me.FillStyle = 0
Me.FillColor = RGB(255, 0, 0)
Me.ForeColor = RGB(255, 0, 0)
Me.Circle (tX, tY), R
Me.FillStyle = 1
End Sub