Private Declare PtrSafe Function SetLayeredWindowAttributes Lib "user32" ( _
ByVal hwnd As LongPtr, ByVal crKey As Long, _
ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongPtrA" ( _
ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongPtrA" ( _
ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As LongPtr) As LongPtr
Private Const GWL_EXSTYLE As Long = -20
Private Const WS_EX_LAYERED As Long = &H80000
Private Const LWA_ALPHA As Long = &H2
Public Sub EnableFade(hwnd As LongPtr)
Dim exStyle As LongPtr
exStyle = GetWindowLong(hwnd, GWL_EXSTYLE)
SetWindowLong hwnd, GWL_EXSTYLE, exStyle Or WS_EX_LAYERED
End Sub
Public Sub SetFormOpacity(hwnd As LongPtr, alpha As Byte)
SetLayeredWindowAttributes hwnd, 0, alpha, LWA_ALPHA
End Sub