AnimateWindow API
發表于:2007-07-14來源:作者:點擊數:
標簽:
盡管MSDN頁面上說這個函數是Win2000的最新函數,但經網友證實在Win98里就已經有這個函數了: Private Declare Function AnimateWindow Lib user32 (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Long 其中: hwnd只對Form有效,其
盡管MSDN頁面上說這個函數是Win2000的最新函數,但經網友證實在Win98里就已經有這個函數了:
Private Declare Function AnimateWindow Lib "user32" (ByVal hwnd As Long, ByVal dwTime As Long, ByVal dwFlags As Long) As Long
其中:
hwnd只對Form有效,其他像Picture1都無法產生效果。
dwTime是動畫持續的時間,默認為200。
dwFlags可取以下值:
AW_HOR_POSITIVE ( &H1 ) '從左到右打開窗口
AW_HOR_NEGATIVE ( &H2 ) '從右到左打開窗口
AW_VER_POSITIVE ( &H4 ) '從上到下打開窗口
AW_VER_NEGATIVE ( &H8 ) '從下到上打開窗口
AW_CENTER ?。?nbsp; &H10 ) '看不出任何效果
AW_HIDE ?。?amp;H10000) '在窗體卸載時若想使用本函數就得加上此常量
AW_ACTIVATE ?。?amp;H20000) '在窗體通過本函數打開后,默認情況下會失去焦點,除非加上本常量
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函數可以為程序特別是For Win2000的程序增色不少。
原文轉自:http://www.anti-gravitydesign.com