
用VB做时钟
1个回答
展开全部
'画一单选钮,value值为true,作为圆心,画一个圆shape1,话三更直线,时针Line1,分针Line2,秒针Line3,放一定时器Timer1,时间间隔Interval值500
'画一标签Label1,修改index值为0,这一步很重要。
'圆下面画一标签 Label2,用来显示时间
'复制以下代码
Dim X!, Y!, R!, i% '圆心,半径
Private Sub Form_Load() '窗体加载时初始化
X = Option1.Left + 100 '圆心
Y = Option1.Top + 100
Line1.X1 = X '三根针同一个圆心
Line1.Y1 = Y
Line2.X1 = X
Line2.Y1 = Y
Line3.X1 = X
Line3.Y1 = Y
R = 2500 '半径
'-----圆的左上宽高----------------------------
Shape1.Left = X - R - 200
Shape1.Top = Y - R - 200
Shape1.Width = 2 * R + 400
Shape1.Height = 2 * R + 400
'-----12个数字标签值及位置--------------------------
For i = 0 To 11
If i > 0 Then Load Label1(i): Label1(i).Visible = True '复制标签
Label1(i).Top = Y + R * Sin((i - 3) * (30 * 3.14 / 180)) '标签位置
Label1(i).Left = X + R * Cos((i - 3) * (30 * 3.14 / 180))
Label1(i).Caption = i '标签文字
Next i
Label1(0).Caption = 12
End Sub
Private Sub Timer1_Timer() '定时器
Dim S!, F!, M!, K As Date '时分秒
K = Time
Label2.Caption = K '显示时间
M = Second(K) '秒
F = Minute(K) + M / 60 '分
S = Hour(K) + F / 60 '时
If S > 12 Then S = S - 12 '12小时制
Line1.X2 = X + 0.8 * R * Cos((S - 3) * (30 * 3.14 / 180)) '时针位置
Line1.Y2 = Y + 0.8 * R * Sin((S - 3) * (30 * 3.14 / 180))
Line2.X2 = X + 0.9 * R * Cos((F - 15) * (6 * 3.14 / 180)) '分针位置
Line2.Y2 = Y + 0.9 * R * Sin((F - 15) * (6 * 3.14 / 180))
Line3.X2 = X + R * Cos((M - 15) * (6 * 3.14 / 180)) '秒针位置
Line3.Y2 = Y + R * Sin((M - 15) * (6 * 3.14 / 180))
End Sub
'画一标签Label1,修改index值为0,这一步很重要。
'圆下面画一标签 Label2,用来显示时间
'复制以下代码
Dim X!, Y!, R!, i% '圆心,半径
Private Sub Form_Load() '窗体加载时初始化
X = Option1.Left + 100 '圆心
Y = Option1.Top + 100
Line1.X1 = X '三根针同一个圆心
Line1.Y1 = Y
Line2.X1 = X
Line2.Y1 = Y
Line3.X1 = X
Line3.Y1 = Y
R = 2500 '半径
'-----圆的左上宽高----------------------------
Shape1.Left = X - R - 200
Shape1.Top = Y - R - 200
Shape1.Width = 2 * R + 400
Shape1.Height = 2 * R + 400
'-----12个数字标签值及位置--------------------------
For i = 0 To 11
If i > 0 Then Load Label1(i): Label1(i).Visible = True '复制标签
Label1(i).Top = Y + R * Sin((i - 3) * (30 * 3.14 / 180)) '标签位置
Label1(i).Left = X + R * Cos((i - 3) * (30 * 3.14 / 180))
Label1(i).Caption = i '标签文字
Next i
Label1(0).Caption = 12
End Sub
Private Sub Timer1_Timer() '定时器
Dim S!, F!, M!, K As Date '时分秒
K = Time
Label2.Caption = K '显示时间
M = Second(K) '秒
F = Minute(K) + M / 60 '分
S = Hour(K) + F / 60 '时
If S > 12 Then S = S - 12 '12小时制
Line1.X2 = X + 0.8 * R * Cos((S - 3) * (30 * 3.14 / 180)) '时针位置
Line1.Y2 = Y + 0.8 * R * Sin((S - 3) * (30 * 3.14 / 180))
Line2.X2 = X + 0.9 * R * Cos((F - 15) * (6 * 3.14 / 180)) '分针位置
Line2.Y2 = Y + 0.9 * R * Sin((F - 15) * (6 * 3.14 / 180))
Line3.X2 = X + R * Cos((M - 15) * (6 * 3.14 / 180)) '秒针位置
Line3.Y2 = Y + R * Sin((M - 15) * (6 * 3.14 / 180))
End Sub
追问
为什么时钟上没有数字1 还有能不能把表盘和指针变小点 尤其时针太长了点 谢谢了

2023-06-12 广告
单片机,单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/O)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。单片机具有性能高、速度快、体积小、价格低、稳定可靠、应用...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询