分享

用VB制作一个动态时钟(转载)

 luxinghui2016 2016-06-15
[原理]
使用了LINE控件用来表示指针,根据粗细不同,分别为时、分、秒针,每个LINE都有2个点的坐标,一个点是原点,也就是表盘的最中心点,另一个点根据当前的时间计算从而决定。然后通过TIMER控件,每隔1秒计算一次进行刷新,即可以实现。

[实现]
一、新建立一个工程,在默认的窗体上添加以下三个LINE控件和一个TIMER控件,添加以下界面如下:
              


二、在代码最上面建立全局变量,用于保存时钟原点:
Dim x0 As Single
Dim y0 As Single
三、在窗体的FORM_LOAD事件中添加如下代码:
Private Sub Form_Load()
    With Form1
    .Width = 3000
    .Height = 3100
    .BackColor = vbBlack
    .Caption = '动态时钟'
    End With
   
    x0 = 1430
    y0 = 1290
   
    With Line1
    .X1 = x0
    .Y1 = y0
    End With
   
    With Line2
    .X1 = x0
    .Y1 = y0
    End With
   
    With Line3
    .X1 = x0
    .Y1 = y0
    End With
   
    Line1.Visible = False
    Line2.Visible = False
    Line3.Visible = False
   
    Line1.BorderColor = vbRed
    Line2.BorderColor = vbRed
    Line3.BorderColor = vbRed
End Sub
四、在Timer的Timer事件中添加如下代码
Private Sub Timer1_Timer()
    Text1.Text = Date
    Line1.Visible = True
    Line2.Visible = True
    Line3.Visible = True
    Dim R0 As Integer
    R0 = 1200
    R1 = 1000: R2 = 850: R3 = 600
   
    '画12个大圈子
    For i = 1 To 12
        X1 = x0 + R0 * Sin((i * 30) * 3.1415926 / 180)
        Y1 = y0 + R0 * Cos((i * 30) * 3.1415926 / 180)
        Circle (X1, Y1), 30, vbBlue
    Next i
   
    '画60个小圈子
    For i = 1 To 60
        X1 = x0 + R0 * Sin((i * 6) * 3.1415926 / 180)
        Y1 = y0 + R0 * Cos((i * 6) * 3.1415926 / 180)
        Circle (X1, Y1), 10, vbBlue
    Next i
   
    '秒针
    With Line1
    .X2 = x0 - R3 * Sin(-(Hour(Now) * 30 + Minute(Now) * 0.5) * 3.1415926 / 180)
    .Y2 = y0 - R3 * Cos(-(Hour(Now) * 30 + Minute(Now) * 0.5) * 3.1415926 / 180)
    End With
    '分针
    With Line2
    .X2 = x0 - R2 * Sin(-(Minute(Now) * 6) * 3.1415926 / 180)
    .Y2 = y0 - R2 * Cos(-(Minute(Now) * 6) * 3.1415926 / 180)
    End With
   
    '时针
    With Line3
    .X2 = x0 - R1 * Sin(-(Second(Now) * 6) * 3.1415926 / 180)
    .Y2 = y0 - R1 * Cos(-(Second(Now) * 6) * 3.1415926 / 180)
    End With
    Circle (x0, y0), 20, vbWhite
End Sub

OK,至此大功告成,点击F5,就可以看到运行结果了。

源代码下载地址:

http://www./files/c3a84975-d7dc-11dc-a987-0014221f3995/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多