用VB制作电子时钟 有表盘 有时针分针的 有数字

 我来答
桑伟聂星阑
2019-07-11 · TA获得超过3631个赞
知道大有可为答主
回答量:3040
采纳率:32%
帮助的人:237万
展开全部
'Option
Explicit'添加
Line1
Line2
Line3
Timer1
Dim
xx1%,
yy1%
'宣告变量xx1,yy1为整型(给圆心用的)
Private
Sub
Form_Load()
Me.AutoRedraw
=
True
'重画为真
'窗体置中
Me.Move
(Screen.Width
-
Me.Width)
\
2,
(Screen.Height
-
Me.Height)
\
2
'计算圆心的x轴xx1
xx1
=
Me.Width
\
2
'计算圆心的y轴yy1
yy1
=
(Me.Height
-
405)
\
2
'将下面3根针的起点x1,y1全定位在圆心上
Line1.X1
=
xx1:
Line1.Y1
=
yy1
Line2.X1
=
xx1:
Line2.Y1
=
yy1
Line3.X1
=
xx1:
Line3.Y1
=
yy1
'画钟的外匡让线条粗一点
Me.DrawWidth
=
5
Me.ForeColor
=
vbRed
'画一个圆
Me.Circle
(xx1,
yy1),
50
Line2.BorderWidth
=
1
'秒针的粗度
Line2.BorderColor
=
QBColor(12)
'秒针的颜色
Line1.BorderWidth
=
2
'分针的粗度
Line1.BorderColor
=
QBColor(14)
'分针的颜色
Line3.BorderWidth
=
3
'时针的粗度
Line3.BorderColor
=
QBColor(10)
'时针的颜色
Timer1.Interval
=
500Call
ShowTimeEnd
Sub
Private
Sub
Timer1_Timer()
Call
ShowTime
End
SubPrivate
Sub
ShowTime()
Me.Caption
=
Time
'标题栏显示现在时间
'
Second
Hand
'画秒针
'计算秒针的角度,每一秒是
360度除以60秒=6度,
所以要乘上6
sdeg
=
Second(Time)
*
6
'vb是以弧度为单位来计算,所以角度换算弧度是
3.14/180,
秒针跑了N度就乘上N
srad
=
(3.14
/
180)
*
sdeg
'900是秒针的长度,以圆心(line2的x1,y1)为准,计算出在这个弧度时line2.x2在什么位置
Line2.X2
=
Line2.X1
+
(900
*
Sin(srad))
'900是秒针的长度,以圆心(line2的x1,y1)为准,计算出在这个弧度时line2.y2在什么位置
Line2.Y2
=
Line2.Y1
-
(900
*
Cos(srad))
'
Minute
Hand
'画分针
'计算分针的角度,每一分是360度除以60分=6度,
所以要乘上6,秒针动分针也会动,
'所以还要加上秒针移动所产生的分针移动.
'秒针转了1圈360度,分针才会前进1分钟=6度,所以比例是
6/360等于
1/60
Mdeg
=
Minute(Time)
*
6
+
(sdeg
*
1
/
60)
'vb是以弧度为单位来计算,所以角度换算弧度是
3.14/180,
分针跑了N度就乘上N
mrad
=
(3.14
/
180)
*
Mdeg
'vb是以弧度为单位来计算,所以角度换算弧度是
3.14/180,
分针跑了N度就乘上N
'750是分针的长度,以圆心(line1的x1,y1)为准,计算出在这个弧度时line1.x2在什么位置
Line1.X2
=
(750
*
Sin(mrad))
+
Line1.X1
'750是分针的长度,以圆心(line1的x1,y1)为准,计算出在这个弧度时line1.y2在什么位置
Line1.Y2
=
Line1.Y1
-
(750
*
Cos(mrad))
'
Hour
Hand
'画时针
'计算时针的角度,每一小时时针跑30度,分针动时针也会动,所以还要加上分针移动所产生的时针移动.
'分针转了1圈360度,时针才会前进1刻划=30度,所以比例是
30/360等于
1/12
hdeg
=
Hour(Time)
*
30
+
(Mdeg
/
12)
'vb是以弧度为单位来计算,所以角度换算弧度是
3.14/180,
时针跑了N度就乘上N
hrad
=
(3.14
/
180)
*
hdeg
'500是时针的长度,以圆心(line3的x1,y1)为准,计算出在这个弧度时line3.x2在什么位置
Line3.X2
=
(500
*
Sin(hrad))
+
Line3.X1
'500是时针的长度,以圆心(line3的x1,y1)为准,计算出在这个弧度时line3.y2在什么位置
Line3.Y2
=
Line3.Y1
-
(500
*
Cos(hrad))
End
Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式