程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 如何用VB設計動畫時鐘舉例

如何用VB設計動畫時鐘舉例

編輯:VB綜合教程
程序說明

  1.如何畫時鐘表盤上的所有直線元素?
  用Load命令建立原始Line控制的14個拷貝(因為表盤有12個點和時、分、秒共15個Line),該控制數組每一個實例的端點坐標屬性設置為每條線在時鐘表盤上的適當位置。這些拷貝中大多數只放置一次,而3個Line控制每秒鐘更新一次,產生時鐘指針移動的感覺。
  注意:在應用程序代碼中並沒有直接擦除任何一條線。當我們改變每一個Line控制的端點時,每一根針在移動時擦除和重畫的所有技術工作都由VB來處理。

  2.如何修改時針的形狀?
  通過調整代碼中的屬性設置,可以改變時鐘的形狀。例如:通過改變每一個Line控制的Borderwidth屬性設置,可以建立更細或更粗的線。

  3.計時器的Interval(間距)屬性設置
  計時器的Interval屬性設置為100,即為1/10秒。

程序的編寫與執行

  (1)新建工程
  先新建一個工程(工程類型為標准EXE),然後用“工具箱”中的工具加入一個Timer1(計時器)和line1(直線),其index(指針)分別設置為空和0。然後雙擊Form1窗體,輸入源代碼。

  (2)程序源代碼
  OptionExplicit
  DefDblA-Z
  PrivateSubForm_Load()
  timer1.Interval=100
  Width=4000
  Height=4000
  Left=Screen.Width2-2000
  Top=(Screen.Height-Height)2
  EndSub
  PrivateSubForm_Resize()
  Dimi,Angle
  StaticflagAsBoolean
  Ifflag=FalseThen
   flag=True
  Fori=0To14
  ’畫出表盤12個點和時、分、秒共15個LINE
  Ifi>0ThenLoadLine1(i)
  Line1(i).Visible=True
  Line1(i).BorderWidth=5
  Line1(i).BorderColor=RGB(0,128,0)’設置LINE的粗細和顏色
  Nexti
   EndIf
  Fori=0To14
  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)
  Nexti
   EndSub
  PrivateSubtimer1_Timer()
  ConstHH=0
  ConstMH=13
  ConstSH=14
  DimAngle
  StaticLS
  IfSecond(Now)=LSThenExitSub
  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))
  ’設置秒針
  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())
  '窗口顯示精確的日期和數字化的時間
  EndSub

  (3)程序的編譯和執行
  點擊VB“運行”菜單中的“啟動”或“全面編譯”命令,即可對程序編譯並運行!
  注:上述程序在中文Windows98和VB5.0中文企業版下調試通過。

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved