提供个做好钟的代码,自己修改为适合给出图片的效果。
Option Explicit
Dim a As Integer, b As Integer, rad As Double
Dim i
Private Sub Form_Load()
a = Me.ScaleWidth \ 2 '圆心X坐标
b = Me.ScaleHeight \ 2 '圆心Y坐标
rad = Atn(1) / 45 '1角度的弧度数
Me.DrawWidth = 3
Timer1.Interval = 500
End Sub
Private Sub Timer1_Timer()
Dim angle1 As Double, angle2 As Double, angle3 As Double
angle1 = ((Hour(Now) Mod 12) * 30 + Minute(Now) / 2 - 90) * rad '时针的角度
angle2 = (Minute(Now) * 6 + Second(Now) / 10 - 90) * rad '分针的角度
angle3 = (Second(Now) * 6 - 90) * rad '秒针的角度
Cls '清除画面,以便画下一秒的状态
CircleDemo
Me.Circle (a, b), 1000, vbYellow '画石英钟轮廓
'[object.]Circle [Step](x, y), radius[, color]
For i = 1 To 12
Me.CurrentX = a - IIf(i < 7, 115, 170) + 1100 * Cos((i * 30 - 90) * rad) '刻度X坐标
Me.CurrentY = b - 90 + 1100 * Sin((i * 30 - 90) * rad) '刻度Y坐标
Print i '画刻度
Next
Me.Line (a, b)-(a + 300 * Cos(angle1), b + 250 * Sin(angle1)), vbBlue '画时针
Me.Line (a, b)-(a + 400 * Cos(angle2), b + 550 * Sin(angle2)), vbBlue '画分针
Me.Line (a, b)-(a + 600 * Cos(angle3), b + 600 * Sin(angle3)), vbRed '画秒针
End Sub
Sub CircleDemo()
Dim Radius, r, g, b, Xpos, redius, Ypos
'将红色设置为随机数。
r = 255 * Rnd
'将绿色设置为随机数。
g = 255 * Rnd
'将蓝色设置为随机数。
b = 255 * Rnd
'将 x 坐标设置在窗体中间。
Xpos = ScaleWidth / 2
'将 y 坐标设置在窗体中间。
Ypos = ScaleHeight / 2
'将半径设置在窗体高度的 0 到 50% 之间。
Radius = ((Ypos * 0.9) + 1) * Rnd
'用随机颜色画圆。
Circle (Xpos, Ypos), Radius, RGB(r, g, b)
End Sub