VB电子钟由分针、时针、秒针组成,并且显示在PICTURE1里面,下面标有日期
收藏:
0
点赞数:
0
评论数:
0
1个回答

Dim day, year, month, ddate, ttime As String

Dim alf(0 To 11)

Dim rr

Dim nhourlen, nminlen, nseclen As Integer

Const pi = 3.14159265358979

Private Sub Form_Load()

Timer1.Interval = 1000

End Sub

Private Sub Timer1_Timer()

rr = pictime.Height / 2

ddate = Format(Now, "mm:dd:yy")

ttime = Format(Now, "hh:mm:ss")

month = Left(ddate, 2)

day = Mid(ddate, 4, 2)

year = Right(ddate, 2)

hh = Left(ttime, 2)

mm = Mid(ttime, 4, 2)

ss = Right(ttime, 2)

txtyear.Text = "20" & year

txtmth.Text = month

txtday.Text = day

lbltime.Caption = Time

nwidth = pictime.Width - 40

nhourlen = nwidth * 4 / 18

nminlen = nwidth * 6 / 18

nseclen = nwidth * 8 / 18

alfsec = ((ss - 15) / 30) * pi

alfmin = ((mm + ss / 60 - 15) / 30) * pi

alfhour = ((hh + mm / 60 + ss / 3600 - 15) / 6) * pi

pictime.Refresh

For i = 0 To 11

alf(i) = i * 30 * pi / 180

pictime.DrawWidth = 1

If i = 0 Or i = 3 Or i = 6 Or i = 9 Then

pictime.DrawWidth = 3

End If

pictime.Line (rr + (rr - 100) * Cos(alf(i)), rr + (rr - 100) * Sin(alf(i)))-(rr + (rr - 300) * Cos(alf(i)), rr + (rr - 300) * Sin(alf(i))), RGB(255, 0, 255)

Next i

pictime.DrawWidth = 3

pictime.Line (rr, rr)-(rr + nhourlen * Cos(alfhour), rr + nhourlen * Sin(alfhour))

pictime.DrawWidth = 2

pictime.Line (rr, rr)-(rr + nminlen * Cos(alfmin), rr + nminlen * Sin(alfmin))

pictime.DrawWidth = 1

pictime.Line (rr, rr)-(rr + nseclen * Cos(alfsec), rr + nseclen * Sin(alfsec))

pictime.DrawWidth = 5

pictime.PSet (rr, rr), RGB(255, 0, 255)

End Sub

注 你的PICTURE1是PICTURE BOX 并改名为PICTIME

同时添加1个时间控件TIMER1 3个TEXT BOX 并分别命名为txtyear, txtmth ,txtday

1个LABEL 命名为LBLTIME就可以了

点赞数:
0
评论数:
0
关注公众号
一起学习,一起涨知识