Masquer uniquement la form et non les contrôles présent à l'intérieur

Résolu
cs_Morinaux Messages postés 34 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 16 mai 2009 - 17 janv. 2008 à 18:38
cs_Morinaux Messages postés 34 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 16 mai 2009 - 17 janv. 2008 à 20:36
Bonsoir,

Je souhaiterais rendre ma form transparente, mais uniquement la form et non les contrôles présent à l'intérieur.
Pour le moment j'utilise SetLayeredWindowAttributes mais ça me rend transparent tout mon programme !

Une solution ? une idée ?

Merci

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 janv. 2008 à 19:39
salut,

enlève la barre de titre, mets par exemple la couler magenta (&HFF00FF) à ta form, et ne choisi que l'argument COULEUR, pas ALPHA

concrêtement çà donne :

Option Explicit
Private Const GWL_EXSTYLE       As Long = (-20&)
Private Const LWA_COLORKEY      As Long = &H1
Private Const WS_EX_LAYERED     As Long = &H80000
Private Declare Function SetLayeredWindowAttributes Lib
"user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags 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 Sub Form_Load()
    SetWindowLong Me.hWnd, GWL_EXSTYLE, WS_EX_LAYERED
    SetLayeredWindowAttributes Me.hWnd, Me.BackColor, 0, LWA_COLORKEY
End Sub

++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 janv. 2008 à 20:26
Private Const


LWA_ALPHA


As Long


= &H2
SetLayeredWindowAttributes Me.hWnd, Me.BackColor,
127
, LWA_COLORKEY


Or


LWA_ALPHA
3
cs_Morinaux Messages postés 34 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 16 mai 2009 1
17 janv. 2008 à 20:06
Ta solution fonctionne parfaitement, merci beaucoup.

Mais maintenant puis-je combiner les deux effets ? (la transparence du violet et la transparence des contrôles)

Merci
0
cs_Morinaux Messages postés 34 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 16 mai 2009 1
17 janv. 2008 à 20:36
Et ben c'était tout bête !
Il fallait juste rajouter un or :)

En tout cas encore une fois merci et puis longue vie à vbfrance !

++
0
Rejoignez-nous