用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
上一个:简单VB程序求解,谢谢
下一个:矩阵交换的vb语言程序要具体,万分感谢!!!!!!!!!!!!!!