怎么控制胡子生长:在VB6.0中,如何让一个窗体实现淡入淡出效果?

来源:百度文库 编辑:偶看新闻 时间:2024/05/06 16:36:46

在VB6.0中,如何让一个窗体实现淡入淡出效果?

检举 | 2010-10-30 10:01 提问者:屁股红于二月花 | 浏览次数:461次
如题,淡入淡出就是慢慢出来、慢慢消失。
检举 | 2010-10-30 11:28 最佳答案
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPrivate Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As LongConst WS_EX_LAYERED = &H80000Const GWL_EXSTYLE = (-20)Const LWA_ALPHA = &H2'Const LWA_COLORKEY = &H1Public i As IntegerPrivate Sub Form_Load()Timer1.Interval = 10Timer2.Interval = 10Timer1.Enabled = TrueTimer2.Enabled = Falsei = 0End SubPrivate Sub Form_Unload(Cancel As Integer)Cancel = 1i = 255Timer2.Enabled = TrueEnd SubPrivate Sub Timer1_Timer()i = i + 5     SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_LAYERED     SetLayeredWindowAttributes Me.hwnd, 0, i, LWA_ALPHA  '150为透明度(0-255)     If i = 255 Then Timer1.Enabled = FalseEnd SubPrivate Sub Timer2_Timer()i = i - 5     SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_LAYERED     SetLayeredWindowAttributes Me.hwnd, 0, i, LWA_ALPHA  '150为透明度(0-255)     If i = 0 Then Timer1.Enabled = False: EndEnd Sub