
VB编写时钟
试问用VB编时钟时,添加一个timer控件于一个Line控件时有什么要求吗?还是随便添加啊?(Index值已经设置了)我按照书上输入的源代码都没办法得到正确的时钟!大概是...
试问用VB编时钟时,添加一个timer控件于一个Line控件时有什么要求吗?
还是随便添加啊?(Index值已经设置了)
我按照书上输入的源代码都没办法得到正确的时钟!大概是添加控件时有问题,请各位大侠帮帮忙啊 展开
还是随便添加啊?(Index值已经设置了)
我按照书上输入的源代码都没办法得到正确的时钟!大概是添加控件时有问题,请各位大侠帮帮忙啊 展开
4个回答
展开全部
有没有设置窗体坐标系? timer随便画在哪 用到的只是它的sub timer1_timer()事件 line 时间设置它的起始点和终点画线 通过设置窗体的DrawWidth 属性和ForeColor来设置线条宽度和颜色
展开全部
是随便添加就可以的
都没办法得到正确的时钟
出什么问题呢?
有些要在属性里设置的,比如line控件的粗细,颜色.
timer控件的interval属性等
都没办法得到正确的时钟
出什么问题呢?
有些要在属性里设置的,比如line控件的粗细,颜色.
timer控件的interval属性等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在窗体中添加一个Timer,一个Label,三个Line(位置随便),代码如下:
Dim x0 As Single 'x0,y0表示指针的圆心
Dim y0 As Single
Private Sub Form_Load()
Randomize
x0 = 1500
y0 = 1500
Timer1.Interval = 1000
Label1.BackStyle = 0
Label1.AutoSize = True
With Form1
.Width = 3150
.Height = 3750
.Caption = "模拟时钟"
.BackColor = RGB(188, 238, 104)
End With
With Line1 '时针
.BorderWidth = 3
.X1 = x0
.Y1 = y0
End With
With Line2 '分针
.BorderWidth = 2
.X1 = x0
.Y1 = y0
End With
With Line3 '秒针
.BorderWidth = 1
.X1 = x0
.Y1 = y0
End With
Me.FillColor = RGB(205, 190, 100 + 12 * Rnd) '画表盘轮廓圆,填色
Me.FillStyle = 0
Circle (x0, y0), 1350, QBColor(Rnd * 15)
Me.FillStyle = 1
Line1.Visible = False
Line2.Visible = False
Line3.Visible = False
Line1.BorderColor = vbYellow
Line2.BorderColor = vbGreen
Line3.BorderColor = vbRed
End Sub
Private Sub Timer1_Timer()
''''''''''''''''''''''''''''''''label1显示日期
Label1.Caption = Date
Label1.Left = 1150
Label1.Top = 1700
''''''''''''''''''''''''''''''
Line1.Visible = True
Line2.Visible = True
Line3.Visible = True
Dim R0, R1, R2, R3 As Integer
R0 = 1200 'R0表示刻度圆的半径
R1 = 1000 '秒针半径
R2 = 850
R3 = 600
''''''''''''''''''''''''''''' '画12个大圈子
Form1.FillColor = RGB(205, 190, 100 + 12 * Rnd)
Form1.FillStyle = 0
For i = 1 To 12
Y1 = y0 + R0 * Sin((i * 30) * 3.1415926 / 180)
X1 = x0 + R0 * Cos((i * 30) * 3.1415926 / 180)
Circle (X1, Y1), 40, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Me.FillStyle = 1
Next i
''''''''''''''''''''''''''''''画60个小圈子
For i = 1 To 60
If i <> 0 And i <> 5 And i <> 10 And i <> 15 And i <> 20 And i <> 25 And i <> 30 And i <> 35 And i <> 40 And i <> 45 And i <> 50 And i <> 55 And i <> 60 Then
Y1 = y0 + R0 * Sin((i * 6) * 3.1415926 / 180)
X1 = x0 + R0 * Cos((i * 6) * 3.1415926 / 180)
Circle (X1, Y1), 15, vbBlack
End If
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), 35, vbBlack '在指针中心画一小圆
End Sub
Dim x0 As Single 'x0,y0表示指针的圆心
Dim y0 As Single
Private Sub Form_Load()
Randomize
x0 = 1500
y0 = 1500
Timer1.Interval = 1000
Label1.BackStyle = 0
Label1.AutoSize = True
With Form1
.Width = 3150
.Height = 3750
.Caption = "模拟时钟"
.BackColor = RGB(188, 238, 104)
End With
With Line1 '时针
.BorderWidth = 3
.X1 = x0
.Y1 = y0
End With
With Line2 '分针
.BorderWidth = 2
.X1 = x0
.Y1 = y0
End With
With Line3 '秒针
.BorderWidth = 1
.X1 = x0
.Y1 = y0
End With
Me.FillColor = RGB(205, 190, 100 + 12 * Rnd) '画表盘轮廓圆,填色
Me.FillStyle = 0
Circle (x0, y0), 1350, QBColor(Rnd * 15)
Me.FillStyle = 1
Line1.Visible = False
Line2.Visible = False
Line3.Visible = False
Line1.BorderColor = vbYellow
Line2.BorderColor = vbGreen
Line3.BorderColor = vbRed
End Sub
Private Sub Timer1_Timer()
''''''''''''''''''''''''''''''''label1显示日期
Label1.Caption = Date
Label1.Left = 1150
Label1.Top = 1700
''''''''''''''''''''''''''''''
Line1.Visible = True
Line2.Visible = True
Line3.Visible = True
Dim R0, R1, R2, R3 As Integer
R0 = 1200 'R0表示刻度圆的半径
R1 = 1000 '秒针半径
R2 = 850
R3 = 600
''''''''''''''''''''''''''''' '画12个大圈子
Form1.FillColor = RGB(205, 190, 100 + 12 * Rnd)
Form1.FillStyle = 0
For i = 1 To 12
Y1 = y0 + R0 * Sin((i * 30) * 3.1415926 / 180)
X1 = x0 + R0 * Cos((i * 30) * 3.1415926 / 180)
Circle (X1, Y1), 40, RGB(Rnd * 255, Rnd * 255, Rnd * 255)
Me.FillStyle = 1
Next i
''''''''''''''''''''''''''''''画60个小圈子
For i = 1 To 60
If i <> 0 And i <> 5 And i <> 10 And i <> 15 And i <> 20 And i <> 25 And i <> 30 And i <> 35 And i <> 40 And i <> 45 And i <> 50 And i <> 55 And i <> 60 Then
Y1 = y0 + R0 * Sin((i * 6) * 3.1415926 / 180)
X1 = x0 + R0 * Cos((i * 6) * 3.1415926 / 180)
Circle (X1, Y1), 15, vbBlack
End If
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), 35, vbBlack '在指针中心画一小圆
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hi 我 ~~我发给你 ~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询