Un form transparant de 0 a 100 % et sa marche vraiment (xp/2000)

Contenu du snippet

Je sais je sais cette source est déja présente sur ce site MAIS on ne le dira jamais assez Windows XP et 2000 integrent une fonction génial qui permet a un form d'être transparant de 00 à 100 % et le tout parfaitement le plus naturellement du monde sans le moindre bug ni effet merdique...
le seul probleme peut etre est la consomation de RAM et le procede DIRECTX utilisé qui fait que sa peut perturber un peu les jeux et la lecture video mais c'est tout.

Source / Exemple :


Option Explicit

Global Const WS_EX_LAYERED = &H80000
Global Const LWA_COLORKEY = &H1
Global Const LWA_ALPHA = &H2
Global Const GWL_EXSTYLE = (-20)

Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Boolean
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Public Sub Trans(Stat As String, Fenêtre As Form, Optional ByVal Alpha As Byte = 255)
Select Case UCase(Stat)
Case "ON"
    SetWindowLong Fenêtre.hWnd, GWL_EXSTYLE, GetWindowLong(Fenêtre.hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED
    SetLayeredWindowAttributes Fenêtre.hWnd, 0, Alpha, LWA_ALPHA
Case "OFF"
    SetWindowLong Fenêtre.hWnd, GWL_EXSTYLE, GetWindowLong(Fenêtre.hWnd, GWL_EXSTYLE) - WS_EX_LAYERED
Case "SET"
    SetLayeredWindowAttributes Fenêtre.hWnd, 0, Alpha, LWA_ALPHA
End Select
End Sub

Conclusion :


'pour activer la transparence :
Trans "ON",me,level
'Pour désactiver la transparence :
Trans"OFF",me
'Pour régler la transparence :
Trans "SET",me, level

Ou level contient un nombre de 0 à 255 qui est le niveau de transparance, a savoir :
0 totalement transparent
255 pas transparent du tout

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.