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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 506 fois - Téléchargée 34 fois

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

Ajouter un commentaire

Commentaires

cs_TheHacker
Messages postés
442
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
19 octobre 2005
-
He, pas mal ! je te met 1/10 pour avoir eu l'dée de recopier un des nombreux APIs que j'ai mis sur le site ya 2 jours a peine !

encore Bravo !............................................................
OverDarck
Messages postés
116
Date d'inscription
jeudi 12 juillet 2001
Statut
Membre
Dernière intervention
23 juin 2005
-
pas du tout tu fait erreur et met la note que tu veut je fai sa parce que je vien de decouvrir cette source et pas par toi voit tu et que j'ai envi d'en faire profiter le plus grand nombre
cs_TheHacker
Messages postés
442
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
19 octobre 2005
-
mais oui, mais si je viens de mettre une source avec bcp + d'API, je vois aps a quo ica sert de remettre la meme chose, t'as qu'a aller voir et juge par toi meme !
http://www.vbfrance.com/article.aspx?Val=8642
nelouadi
Messages postés
1
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
2 mai 2003
-
c nul
cs_TheHacker
Messages postés
442
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
19 octobre 2005
-
c pas nul comme code c apaue tetre tres utile sauf qu'il aurait été mieux de vérifie si pers ne l'a mis avant, mais bon c pas grave, désolé OverDarck j'ai peut etre été un peu dur :-)

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.