AnimateWindowAPI

字號:

函數(shù)AnimateWindow.
     盡管MSDN頁面上說這個函數(shù)是Win2000的最新函數(shù),但經(jīng)網(wǎng)友證實在Win98里就已經(jīng)有這個函數(shù)了:
    Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Long
    其中:
    hwnd只對Form有效,其他像Picture1都無法產(chǎn)生效果。
    dwTime是動畫持續(xù)的時間,默認(rèn)為200。
    dwFlags可取以下值:
    AW_HOR_POSITIVE ( &H1 ) ´從左到右打開窗口
    AW_HOR_NEGATIVE ( &H2 ) ´從右到左打開窗口
    AW_VER_POSITIVE ( &H4 ) ´從上到下打開窗口
    AW_VER_NEGATIVE ( &H8 ) ´從下到上打開窗口
    AW_CENTER    ( &H10 ) ´看不出任何效果
    AW_HIDE    ?。?H10000) ´在窗體卸載時若想使用本函數(shù)就得加上此常量
    AW_ACTIVATE  ?。?H20000) ´在窗體通過本函數(shù)打開后,默認(rèn)情況下會失去焦點,除非加上本常量
    AW_SLIDE     (&H40000) ´看不出任何效果
    AW_BLEND     (&H80000) ´淡入淡出效果
    最后一個就是我要找的,遺憾的是只對Win2000有效。下邊是窗體淡入的效果,如果沒有Win2000的話就看不出來了:
    Form1.BorderStyle = 1
    Form1.Caption=""
    Form1.ControlBox=""
    再給Form1一附大小合適的背景圖。
    Private Sub Form_Click()
    Unload Me
    End Sub
    Private Sub Form_Unload(Cancel As Integer)
    AnimateWindow hwnd, 1000, &H80000 + &H10000
    Set Form1 = Nothing
    End Sub
    AnimateWindow函數(shù)可以為程序特別是For Win2000的程序增色不少。