Gerer la transparence des fenêtres


Propriétés du code


Date de création : 27/11/2006 à 22:57:00
0 Commentaire(s)
  MadMatt

 

Présentation


Ce code est composé de trois fonctions :
- une pour activer la transparence d'un fenêtre
- une pour changer la valeur de transparence
- une pour la désactiver

Ne marche que sous Win 2k , XP et supérieur

 

Code


' Déclarations API
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'renvoie les styles de la fenêtre
Public Const GWL_STYLE As Long = -16
'renvoie les styles étendus de la fenêtre
Public Const GWL_EXSTYLE As Long = -20
' Pour la transparence
Public Const WS_EX_LAYERED = &H80000
Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Boolean
Public Const LWA_COLORKEY = &H1
Public Const LWA_ALPHA = &H2



' Active la transparence d'une fenetre (nécessite Win2k ou +)
' Renvoie FALSE si la transparence ne peut pas etre appliquée
Public Function EnableTransparency(ByVal hWnd As Long) As Boolean
    On Error GoTo Err
    SetWindowLong hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED
    EnableTransparency = True
    Exit Function
Err:
    EnableTransparency = False
End Function

' Change la valeur de la transparence (de 0 : transparent à 255 : opaque)
Public Function ChangeTransparency(ByVal hWnd As Long, ByVal Alpha As Byte) As Boolean
    On Error GoTo Err
    SetLayeredWindowAttributes hWnd, 0, Alpha, LWA_ALPHA
    ChangeTransparency = True
    Exit Function
Err:
    ChangeTransparency = False
End Function

' Supprime la transparence
Public Function DisableTransparency(ByVal hWnd As Long)
    On Error Resume Next
    SetWindowLong hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) - WS_EX_LAYERED
End Function


 

Historique


Voici l'historique des modifications de ce code :
Le 30/12/2006 par MadMatt : Legere modif

 
 

Modifier le code

Seul les admins et l'auteur du code lui même peuvent modifier ce code.

 

Commentaires


Ajouter un commentaire


Vous devez être connecté pour pouvoir poster un commentaire.

 
 

Valid HTML 4.01 Transitional Valid CSS

Site web de Vb System Library version 1.3
Developpement et design réalisé par : Matthieu Napoli (MadMatt)
© 2007 Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
Temps d'execution de la page : 0.008 s
www.mnapoli.fr