麻烦哪位帮忙写一个VB程序

[复制链接]
查看11 | 回复1 | 2009-11-11 10:08:33 | 显示全部楼层 |阅读模式
直接从工具面板里拖拽几个控件进来就OK了
回复

使用道具 举报

千问 | 2009-11-11 10:08:33 | 显示全部楼层
需要一个timer:tmrClock和一条line(数组控件):linClockOption ExplicitDefDbl A-ZPrivate Sub Form_Load()
Width = 4000
Height = 4000
Left = Screen.Width \ 2 - 4100
Top = (Screen.Height - Height) \ 2End SubPrivate Sub Form_Resize()
Dim i, Angle
Static Flag As Boolean
If Flag = False Then
Flag = True
For i = 0 To 14
If i > 0 Then
Load linClock(i)
End If
linClock(i).Visible = True
linClock(i).BorderWidth = 5
linClock(i).BorderColor = RGB(0, 128, 0)
Next i
End If
For i = 0 To 14
Scale (-1, -1)-(1, 1)
Angle = i * 2 * Atn(1) / 3
linClock(i).X1 = 0.9 * Cos(Angle)
linClock(i).Y1 = 0.9 * Sin(Angle)
linClock(i).X2 = Cos(Angle)
linClock(i).Y2 = Sin(Angle)
Next iEnd SubPrivate Sub tmrClock_Timer()
Const HourHand = 0
Const MinuteHand = 13
Const SecondHand = 14
Dim Angle
Static LastSecond
'Position hands only on the second
If Second(Now) = LastSecond Then Exit Sub
LastSecond = Second(Now)
'Position hour hand
Angle = -0.5236 * (15 - (Hour(Now) + Minute(Now) / 60))
linClock(HourHand).X1 = 0
linClock(HourHand).Y1 = 0
linClock(HourHand).X2 = 0.5 * Cos(Angle)
linClock(HourHand).Y2 = 0.5 * Sin(Angle)
'Position minute hand
Angle = -0.1047 * (75 - (Minute(Now) + Second(Now) / 60))
linClock(MinuteHand).X1 = 0
linClock(MinuteHand).Y1 = 0
linClock(MinuteHand).X2 = 0.7 * Cos(Angle)
linClock(MinuteHand).Y2 = 0.7 * Sin(Angle)
'Position second hand
Angle = -0.1047 * (75 - Second(Now))
linClock(SecondHand).X1 = 0
linClock(SecondHand).Y1 = 0
linClock(SecondHand).X2 = 0.8 * Cos(Angle)
linClock(SecondHand).Y2 = 0.8 * Sin(Angle)End Sub -------------------------------------------------------有时针 分针 秒针
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行