如何用VB設(shè)計動畫時鐘舉例

字號:

程序說明
    1.如何畫時鐘表盤上的所有直線元素?
    用Load命令建立原始Line控制的14個拷貝(因為表盤有12個點和時、分、秒共15個Line),該控制數(shù)組每一個實例的端點坐標(biāo)屬性設(shè)置為每條線在時鐘表盤上的適當(dāng)位置。這些拷貝中大多數(shù)只放置一次,而3個Line控制每秒鐘更新一次,產(chǎn)生時鐘指針移動的感覺。
    注意:在應(yīng)用程序代碼中并沒有直接擦除任何一條線。當(dāng)我們改變每一個Line控制的端點時,每一根針在移動時擦除和重畫的所有技術(shù)工作都由VB來處理。
    2.如何修改時針的形狀?
    通過調(diào)整代碼中的屬性設(shè)置,可以改變時鐘的形狀。例如:通過改變每一個Line控制的Borderwidth屬性設(shè)置,可以建立更細(xì)或更粗的線。
    3.計時器的Interval(間距)屬性設(shè)置
    計時器的Interval屬性設(shè)置為100,即為1/10秒。
    程序的編寫與執(zhí)行
    (1)新建工程
    先新建一個工程(工程類型為標(biāo)準(zhǔn)EXE),然后用“工具箱”中的工具加入一個Timer1(計時器)和line1(直線),其index(指針)分別設(shè)置為空和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(0, 128, 0) ’設(shè)置LINE的粗細(xì)和顏色
    Next i
    End If
    For i = 0 To 14
    Scale (-1, 1)-(1, -1)
    Angle = i * 2 * Atn(1) / 3