如何用VB设计如图所示的时钟

2020-04-27 社会 139阅读

提供个做好钟的代码,自己修改为适合给出图片的效果。

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

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com