Я делал выцветание на vb6 вот так:
Code
Private Sub Form_Initialize()
Me.Width = 400 * Screen.TwipsPerPixelX
Me.Height = 200 * Screen.TwipsPerPixelY
Me.Left = (Screen.Width - Me.Width)
Me.BackColor = RGB(1, 1, 1)
ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
ret = ret Or WS_EX_LAYERED
SetWindowLong Me.hWnd, GWL_EXSTYLE, ret
SetLayeredWindowAttributes Me.hWnd, Val(RGB(1, 1, 1)), 0, LWA_COLORKEY
End Sub
Code
Public Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function SetLayeredWindowAttributes Lib "User32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Code
Public Const LWA_COLORKEY = &H1
Public Const GWL_EXSTYLE = (-20)
Public Const WS_EX_LAYERED = &H80000
Вроде все. Мог что-то забыть.