Private Declare Function AngleArc Lib "gdi32.dll" _
(ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal dwRadius As Long, _
ByVal eStartAngle As Single, ByVal eSweepAngle As Single) As Long
Private Declare Function MoveToEx Lib "gdi32.dll" _
(ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpCoord As Long) As Long
Private Declare Function LineTo Lib "gdi32.dll" _
(ByVal hdc As Long, ByVal nXEnd As Long, ByVal nYEnd As Long) As Long
Dim hBrush As Long, hPen As Long
Private Sub Form_Load()
Dim bgColor As Long
Me.Picture1.BackColor = vbWhite
Me.Picture1.ScaleMode = 3
Me.Picture1.ForeColor = vbBlue
Me.Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
Dim x, y
With Me.Picture1
.Cls
.Refresh
x = .ScaleWidth / 2
y = .ScaleHeight / 2
Call MoveToEx(.hdc, x, y - (x - 25), 0)
Call AngleArc(.hdc, x, y, x - 25, 90, -(Second(Now) / 60) * 360)
Call LineTo(.hdc, x, y)
.CurrentX = x - 20
.CurrentY = .ScaleHeight - 20
Me.Picture1.Print Now
End With
End Sub |