5/5 (13 avis)
Snippet vu 4 930 fois - Téléchargée 43 fois
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 Sub ActiveTransparence(Fenêtre As Form, Optional ByVal AlphaInit As Byte = 255) SetWindowLong Fenêtre.hWnd, GWL_EXSTYLE, GetWindowLong(Fenêtre.hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED ChangeTransparence Fenêtre, AlphaInit End Sub Sub ChangeTransparence(Fenêtre As Form, ByVal Alpha As Byte) SetLayeredWindowAttributes Fenêtre.hWnd, 0, Alpha, LWA_ALPHA End Sub Sub DésactiveTransparence(Fenêtre As Form) SetWindowLong Fenêtre.hWnd, GWL_EXSTYLE, GetWindowLong(Fenêtre.hWnd, GWL_EXSTYLE) - WS_EX_LAYERED End Sub
24 févr. 2005 à 12:07
Excellent ce code, mais existe il un moyen de ne rendre que la feuille translucide, et pas les contrôles ? Si quelqu'un à un tuyaux...
Merci
9 janv. 2004 à 22:10
dans un de mes progs j'ai mis ça et pis quand j'active la transparence (sous XP) tout marche mais en désacivant (ou même des fois en activant), la fenêtre inverse tout !!
les boutons, les images, les labels, les coordonées de la souris... tou quoi
et avec une form retournée mon prog il va pas loin
alors je pense qu'il ya peut etre un paramêtre dans l'appel des fonctions qu'il faut changer ?
bon je dis ça mais c'est peut être un autre truc du prog qui bug mais ça m'étonnerai car c'est vraiment au moment ou la transparence entre en jeu que le prog bug.
bon sinon c'est une source excellente, et je vois que on l'a mise à jour donc je vais regarder ce qui a changer pour voir si ça enlève mon bug.
a+ MadMatt
26 oct. 2003 à 20:12
je te remercie pour se p'tit code(je me détache des dernier messages..mais bon..)
c'est vrai qui'l m'est bien utile ton code!
9 janv. 2003 à 23:17
9 janv. 2003 à 22:25
en passant, il y a une proprietés de la feuille pour ca en vb.net maintenant :)
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.