📄 watch.frm
字号:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 5655
ClientLeft = 60
ClientTop = 345
ClientWidth = 7875
LinkTopic = "Form1"
ScaleHeight = 5655
ScaleWidth = 7875
StartUpPosition = 3 'Windows Default
Begin VB.Timer Timer1
Interval = 100
Left = 1200
Top = 600
End
Begin VB.Line Line1
Index = 0
X1 = 1080
X2 = 2400
Y1 = 1560
Y2 = 1920
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub Form_Load()
Timer1.Interval = 100
'设置窗体的大小和位置
Width = 4000
Height = 4000
Left = Screen.Width \ 2 - 2000
Top = (Screen.Height - Height) \ 2
End Sub
Private Sub Form_Resize()
Dim i, Angle
Static flag As Boolean
If flag = False Then 'Flag防止第二次生成控件
flag = True
For i = 0 To 14
'生成表盘12个点和时、分、秒共15个Line
If i > 0 Then Load Line1(i)
Line1(i).Visible = True
Line1(i).BorderWidth = 5 '设置Line的粗细和颜色
Line1(i).BorderColor = RGB(0, 128, 0)
Next i
End If
'计算指针的位置
For i = 0 To 14
Scale (-1, 1)-(1, -1) '设置窗体坐标系
Angle = i * 2 * Atn(1) / 3 'Pi=4 * Atn(1) ,Angle=Pi/6 * i
Line1(i).X1 = 0.9 * Cos(Angle)
Line1(i).Y1 = 0.9 * Sin(Angle)
Line1(i).X2 = Cos(Angle)
Line1(i).Y2 = Sin(Angle)
Next i
End Sub
Private Sub timer1_Timer()
Const HH = 0 '代表时分秒的Line数组的下标
Const MH = 13
Const SH = 14
Dim Angle
Static LS
If Second(Now) = LS Then Exit Sub '判断是否过了1秒
LS = Second(Now)
Angle = 0.5236 * (15 - (Hour(Now) + Minute(Now) / 60)) '设置时针
Line1(HH).X1 = 0
Line1(HH).Y1 = 0
Line1(HH).X2 = 0.3 * Cos(Angle)
Line1(HH).Y2 = 0.3 * Sin(Angle)
Angle = 0.1047 * (75 - (Minute(Now) + Second(Now) / 60)) '设置分针
Line1(MH).X1 = 0
Line1(MH).Y1 = 0
Line1(MH).X2 = 0.7 * Cos(Angle)
Line1(MH).Y2 = 0.7 * Sin(Angle)
Angle = 0.5236 * (75 - Second(Now))
'设置秒针
Line1(SH).X1 = 0
Line1(SH).Y1 = 0
Line1(SH).X2 = 0.8 * Cos(Angle)
Line1(SH).Y2 = 0.8 * Sin(Angle)
Form1.Caption = Str(Now())
'窗口显示精确的日期和数字化的时间
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -