peug
Messages postés232Date d'inscriptionmercredi 25 octobre 2000StatutMembreDernière intervention 5 octobre 2012
-
30 mars 2007 à 07:23
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
30 mars 2007 à 22:57
Bonjour,
Comment rendre un arrière plan d'un control transparent ?
J'ai refait un control FRAME mais j'aimerai qu'il puisse avoir l'arrière plan transparent, ainsi si je le place où il y a un dégradé, zou c'est nickel.
Malheureusement je but sur cela j'ai bien essayé le usercontrol.backstyke=0 (Transparent) ou l'API SetLayeredWindowAttributes mais c'est pour l'ensemble du control, c'est à dire que ce que je dessine dessus devient aussi invisible.
Vous avez une riche idée
merci
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 30 mars 2007 à 08:20
Bonjour,
Tu asz plusieurs façons possuble de procéder
La plus simple reste encore de "bâtir" une propriété Picture pour ton ocx, accessible donc depuis sa fenêtre de propriétés dans le projet où il est placé
Reste ensuite, tout simplement, à utiliser la méthode paintPicture pour dessiner sur ton ocx la partie du dessin de fond éventuellement présent sur la Form d'accueil. Juste une petite précaution à prendre : prévision du cas où l'ocx ne chevaucherait ausun dessin de fond (un simple on error resume next suffit alors).
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 30 mars 2007 à 09:34
Autre méthode qui vaut ce qu'elle vaut (c'est celle que j'utilise nottament) : automatiser cette propriété Picture.
Dans ton ocx tu peux accèder au parent de celui-ci (le container qui affiche ton ocx, bien souvent un form), et à partir de son parent, tu peux accèder à la propriété Picture du parent (ainsi qu'au BackColor, etc, bref, tout ce qu'il te faut pour savoir ce qu'il affiche en dessous de ton usercontrol).
Ainsi, tu peux très bien connaître l'image se situant sous le usercontrol, et l'afficher en fond de ton usercontrol (ne pas oublier de la recalculer si ton usercontrol est déplacé ou redimensionné par contre).
Ainsi tu obtiens un usercontrol avec un fond transparent et c'est totalement invisible pour l'utilisateur.
C'est la méthode que j'utilise, mais je pense que celle de renfield (maskPicture et MaskColor) est certainement plus simple à mettre en oeuvre.
peug
Messages postés232Date d'inscriptionmercredi 25 octobre 2000StatutMembreDernière intervention 5 octobre 2012 30 mars 2007 à 09:46
Oui merci et en effet je pars au plus simple . et en cherchant les info sur maskpicture/maskcolor, je suis tombé directe sur http://www.vbfrance.com/codes/OCX-CONTROLES-STYLE-XP-BOUTON-CHECK-OPTIONBUTTON_6656.aspx ! J'ai du développé ces memes controles ... si j'avais su (ce qui me rassure c'est que je ne suis pas loin de tes sources ! imaginez ma fierté)
(Au passage Renfield, t'es papa au fait ?)
Darksidious, j'avais chercher vers cela sans arriver à mes fins, je vais aussi retester cela ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?