程序說明
1.如何畫時鐘表盤上的所有直線元素?
用Load命令建立原始Line控制的14個拷貝(因為表盤有12個點和時、分、秒***15個Line),該控制數組每壹個實例的 端點坐標屬性設置為每條線在時鐘表盤上的適當位置,這些拷貝中大多數只放置壹次,而3個Line控制每秒鐘更新壹次,產生時鐘指 針移動的感覺。
註意:在應用程序代碼中並沒有直接擦除任何壹條線。當我們改變每壹個Line控制的端點時,每壹根針
在移動時擦除和重畫的所有技術工作都由VB來處理。
2.如何修改時針的形狀?
通過調整代碼中的屬性設置,可以改變時鐘的形狀。例如:通過改變每壹個Line控制的Borderwidth屬性設置,可以建立 更細或更粗的線。
3. 計時器的Interval(間距)屬性設置
計時器的Interval屬性設置為100,即為1/10秒。
程序的編寫與執行
(1)新建工程
先新建壹個工程(工程類型為標準EXE),然後用“工具箱”中的工具加入壹個Timer1(計時器)和line1(直線),其i ndex(指針)分別設置為空和0。然後雙擊Form1窗體,輸入源代碼。
(2)程序源代碼
Option Explicit
DefDbl A-Z
Private Sub Form_Load()
Timer1.Interval = 100
Width = 4000
Height = 4000
Left = Screen.Width \ 2 - 2000
Top = (Screen.Height - Height) \ 2
End Sub
Private Sub Form_Resize()
Dim I, Angle
Static flag As Boolean
If flag = False Then
flag = True
For I = 0 To 14
'畫出表盤12個點和時、分、秒***15個Line
If I > 0 Then Load Line1(I)
Line1(I).Visible = True
Line1(I).BorderWidth = 5
Line1(I).BorderColor = RGB(200, 100, 60)'設置LINE的精細和顏色
Next I
End If
For I = 0 To 14
Scale (-1, 1)-(1, -1)
Angle = I * 2 * Atn(1) / 3
Line1(I).X1 = 0.9 * Cos(Angle)
Line1(I).Y1 = 0.9 * Sin(Angle)
Line1(I).X2 = Cos(Angle)
Line1(I).Y2 = Sin(Angle)
Next I
End Sub
Private Sub Timer1_Timer()
Const HH = 0
Const MH = 13
Const SH = 14
Dim Angle
Static LS
If Second(Now) = LS Then Exit Sub
LS = Second(Now)
Angle = 0.5236 * (15 - (Hour(Now) + Minute(Now) / 60))'設置時針
Line1(HH).X1 = 0
Line1(HH).Y1 = 0
Line1(HH).X2 = 0.3 * Cos(Angle)
Line1(HH).Y2 = 0.3 * Sin(Angle)
Angle = 0.1047 * (75 - (Minute(Now) + Second(Now) / 60))'設置分針
Line1(MH).X1 = 0
Line1(MH).Y1 = 0
Line1(MH).X2 = 0.7 * Cos(Angle)
Line1(MH).Y2 = 0.7 * Sin(Angle)
Angle = 0.5236 * (75 - Second(Now) / 5)'設置秒針
Line1(SH).X1 = 0
Line1(SH).Y1 = 0
Line1(SH).X2 = 0.8 * Cos(Angle)
Line1(SH).Y2 = 0.8 * Sin(Angle)
Form1.Caption = Str(Now()) '窗口顯示精確的日期和數字化的時間
End Sub
(3)程序的編譯和執行
點擊VB“運行”菜單中的“啟動”或“全面編譯”命令,即可對程序編譯並運行!