AnimateWindow API

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

函数AnimateWindow.

尽管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 ( &H10 ) '看不出任何效果

AW_HIDE (&H10000) '在窗体卸载时若想使用本函数就得加上此常量

AW_ACTIVATE (&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的程序增色不少。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航