Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Static x0 As Integer Static y0 As Integer If RunMode <> rmScreenSaver Then Exit Sub If ((x0 = 0) And (y0 = 0)) Or ((Abs(x0 - X) < 5) And (Abs(y0 - Y) < 5)) Then x0 = X y0 = Y Exit Sub End If Unload Me End Sub ------------------------------------------------------------------------------------------------------------------------------ Private Sub tmrMoveBalls_Timer() Dim i As Integer Dim wid As Single Dim hgt As Single For i = 1 To NumBalls With Balls(i) FillColor = BackColor Circle (.BallX, .BallY), .BallR, BackColor End With Next i wid = ScaleWidth hgt = ScaleHeight For i = 1 To NumBalls With Balls(i) .BallX = .BallX + .BallVx If .BallX < .BallR Then .BallX = 2 * .BallR - .BallX .BallVx = -.BallVx ElseIf .BallX > wid - .BallR Then .BallX = 2 * (wid - .BallR) - .BallX .BallVx = -.BallVx End If .BallY = .BallY + .BallVy If .BallY < .BallR Then .BallY = 2 * .BallR - .BallY .BallVy = -.BallVy ElseIf .BallY > hgt - .BallR Then .BallY = 2 * (hgt - .BallR) - .BallY .BallVy = -.BallVy End If FillColor = .BallClr Circle (.BallX, .BallY), .BallR, .BallClr End With Next i End Sub ------------------------------------------------------------------------------------------------------------------------------------------------------