Contrôle transparent

Résolu
cs_epson1 Messages postés 89 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 29 mars 2013 - 18 janv. 2008 à 00:47
cs_epson1 Messages postés 89 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 29 mars 2013 - 18 janv. 2008 à 16:41
Salut à tous ,et bonne année .


je cherche depuis pas mal de temps comment comment rendre un contrôle transparent à 50% et voir ce qu'il y a derriere .


Je m'explique :
j'ai un picturebox "Picture1"qui contient un shape "Shape1" . A coté j'ai un picturebox "Picture2" que je viens placer au dessus de "Picture1" .


Je voudrais rendre "Picture2" transparent à 50% et voir "Picture1" et  "Shape1" au travers ,et de la couleur BackColor de "Picture2"
comme si je mettais un filtre de couleur devant une photo .


J'ai essayé ça :


Option Explicit
Private Const GWL_EXSTYLE       As Long = (-20&)
Private Const LWA_COLORKEY      As Long = &H1
Private Const LWA_ALPHA As Long = &H2
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, Picture2.BackColor, 127, LWA_COLORKEY 'Or LWA_ALPHA


End Sub


Mais ça rends "Picture2" transparent à 100% et je vois mon fond d'écran au travers .


Si c'est pas trés clair j'ai mis une capture ici :
http://alphacom.chez-alice.fr/Bureau.JPG


Si quelqu'un a une idée ,(en plus je pense que c'est tout con mais je trouve pas) ,je suis preneur .


Vala ,merci d'avance .

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 janv. 2008 à 10:01
oui, oui, mais pas forcément applicable aux UserControls...

a voir, mais y'a surement des bases
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 janv. 2008 à 09:08
Salut,

Regarde dans les sources de Renfield sur ce site, il y a fait une source qui je pense devrait peut-être répondre à ta demande...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
18 janv. 2008 à 09:31
m'est arrivé de faire des controles translucides...

je planquait le controle (modification de son Height)
photo de ce qui se trouve en dessous
ensuite, je pouvais faire ce que je voulais, tranquillement

c'etait indectectable, m'enfin, j'avais un subclassing sur la form, donc ca aide.

deuxième truc qui aide, c'est que les controles ne se chevauchaient jamais (sinon ils se parasitaient)
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 janv. 2008 à 09:38
Lol..Renfield...je pensais à celle-là

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_epson1 Messages postés 89 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 29 mars 2013
18 janv. 2008 à 16:41
Salut Explorer et Renfield et merci pour vos réponses .


Je pensais pas que c'etait aussi compliqué .
Pour moi , une simple API bien utilisée devait faire l'affaire , mais apparement , je me trompais .
Je vais décortiquer la source et essayer de comprendre mais je suis pas trés familier avec le subclassing .


Encore merci et A+
0
Rejoignez-nous