pouda
Messages postés264Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention27 octobre 2014
-
13 avril 2004 à 13:50
gandalfkhorne
Messages postés70Date d'inscriptiondimanche 11 janvier 2004StatutMembreDernière intervention 1 octobre 2004
-
25 avril 2004 à 22:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
gandalfkhorne
Messages postés70Date d'inscriptiondimanche 11 janvier 2004StatutMembreDernière intervention 1 octobre 2004 25 avril 2004 à 22:42
T'est vraiment doué Ng mais si t'as un Os d'une version antérieure à celles de technologie NT tu fais comment?
cs_ng
Messages postés31Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention28 juin 2005 18 avril 2004 à 09:02
Salut,
Voici comment on créé une vraie form transparente :
'//A mettre ds le code d'une form
Option Explicit
Const LWA_ALPHA = &H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Public Sub FixTransparence(lTrans As Long)
Dim lRet As Long
lRet = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
lRet = lRet Or WS_EX_LAYERED
Call SetWindowLong(Me.hWnd, GWL_EXSTYLE, lRet)
Call SetLayeredWindowAttributes(Me.hWnd, 0, lTrans, LWA_ALPHA)
End Sub
Private Sub Command1_Click()
Call FixTransparence(128)
End Sub
Nicolas.
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 14 avril 2004 à 08:04
On ne voit plus les controles, alors quel est l'interet ? De plus, il y a des bugs. Je pense que tu devrai trouver comment regler le % de transparence ;)
cs_gg_the_boss
Messages postés49Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention18 juin 2007 13 avril 2004 à 21:31
moi je trouve que cette source a une mauvaise note alors que c'est cool de faire des forms transparentes
j'ai mis un petit 10 pour remedier a cela (ca a juste fait augmenter la moyenne de 1 point mais bon...)
pouda
Messages postés264Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention27 octobre 2014 13 avril 2004 à 13:50
oaui pas mal apr contre comment on regles la nuances de transparences ?merci
25 avril 2004 à 22:42
18 avril 2004 à 09:02
Voici comment on créé une vraie form transparente :
'//A mettre ds le code d'une form
Option Explicit
Const LWA_ALPHA = &H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Public Sub FixTransparence(lTrans As Long)
Dim lRet As Long
lRet = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
lRet = lRet Or WS_EX_LAYERED
Call SetWindowLong(Me.hWnd, GWL_EXSTYLE, lRet)
Call SetLayeredWindowAttributes(Me.hWnd, 0, lTrans, LWA_ALPHA)
End Sub
Private Sub Command1_Click()
Call FixTransparence(128)
End Sub
Nicolas.
14 avril 2004 à 08:04
13 avril 2004 à 21:31
j'ai mis un petit 10 pour remedier a cela (ca a juste fait augmenter la moyenne de 1 point mais bon...)
13 avril 2004 à 13:50
Bonne continuation