用VB在窗口中顯示動畫圖標

發表于:2007-07-14來源:作者:點擊數: 標簽:
Windows 3.X系統有一個鮮為人知的地方。首先,選取該系統所帶某一應用程序(如文件管理器,畫筆,掃雷等)的“幫助\關于***...”菜單彈出對話框后,按下Ctrl和Shift鍵,同時用鼠標左鍵雙擊對話框中應用程序的圖標,然后關閉對話框。接下來,重復上述操作(兩次
  Windows 3.X系統有一個鮮為人知的地方。首先,選取該系統所帶某一應用程序(如文件管理器,畫筆,掃雷等)的“幫助\關于***...”菜單彈出對話框后,按下Ctrl和Shift鍵,同時用鼠標左鍵雙擊對話框中應用程序的圖標,然后關閉對話框。接下來,重復上述操作(兩次打開的應用程序可以不同),再次雙擊圖標,奇跡出現了! 對話框中將出現一面飄揚的Windows旗幟和“Dedicated to all the hard-workin g people of the Microsoft Windows 3.10 Team!”這樣一條文字信息。如果你再做一次,一定還有新的驚喜。在Windows 95中,上述現象已不復存在,但是在執行其有關“查找”功能以及缺少快捷方式時,對話框內所顯示的來回移動的放大鏡或照來照去的手電筒則可謂動畫圖標的上乘佳作。

  如果能夠在我們自己開發的應用程序中恰當地應用動畫圖標,一定會給程序界面增色不少。

  其實,這些用Visual Basic實現起來是很方便的。

  (1)使用VB所帶的ICONWORK或其他圖標制作工具制作各動畫幀的圖標Demo0.Ico,Demo1 .Ico,Demo2.Ico,……

  (2)建立窗口,在合適位置如左上角添加Image(圖形)控件,打開其Properties(屬性)窗口,將其中的Stretch(伸展性)項置為True,并從Picture(圖片)項右欄點開Load Picture( 加載圖片)窗口,從其中的文件列表中選取(1)中制作的第1個圖標(Demo0.Ico),其余屬性取其缺省狀態。

  (3)在窗口中添加Timer(計時器)控件,并設置其Interval(時間間隔)屬性值(如100ms,該值越大動畫速度越慢)。

  (4)編寫代碼,利用計時器控件每隔一個時間間隔調用一次計時器函數的特性,在該函數中更替圖形控件所顯示的圖標即可獲得動畫效果。

  下面所附的源程序代碼摘自筆者開發的某應用程序,在Windows 95中文版+Visual Basi c 4.0環境下運行效果頗佳。

  附:程序清單(Form5.Frm)

  VERSION 4.00

  Begin VB.Form form5 對話框窗體

  BackColor = & H00C0C000& 背景色

  BorderStyle =3'Fixed Double 邊界類型

  Caption ="關于…" 標題

  …… ……

  Top =1980 上邊界

  Width =3840 寬度

  Begin VB.Image Imagel 圖形控件

  Height =855 高度

  Left =120 左邊界

  Picture ="FORM5.frx":0000 圖片

  Stretch =-1'True 伸展性

  Top =240 上邊界

  Width =975 寬度

  End

  Begin VB.Timer Timerl 計時器控件

  Interval =100 時間間隔(ms)

  Left =360 左邊界

  Top =2520 上邊界

  End

  Begin VB.CommandButton Commandl 按鈕控件

  Caption="確認" 標題

  …… ……

  Top =2520 上邊界

  Width =1455 寬度

  End

  ……

  End

  Attribute VB_Name ="Form5"

  Attribute VB_Creatable =False

  Attribute VB_Exposed=False

  Dim count% 圖標序號

  Private Sub Form_Load()

  count=-1 置初值

  End SubPrivate Sub Timerl_Timer() 計時器函數

  count=(count+1)Mod 3 更換顯示圖標

  If count =0 Then

  Image1.Picture=LoadPicture("Demo0.Ico")

  Else If count= 1 Then

  Image1.Picture=LoadPicture("Demo1.Ico")

  Else

  Imagel.Picture=LoadPicture("Demo2.Ico")

  End If

  End Sub

  Private Sub Command1_Click ()

  Form5.Hide 關閉窗口

  End Sub

  …… 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97