UserControl transparent + label transparent = ocx invisible, Normal ?

cs_spongbob Messages postés 5 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 3 février 2013 - 2 juin 2009 à 19:55
cs_spongbob Messages postés 5 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 3 février 2013 - 3 juin 2009 à 13:14
Bonjour,



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Mon problème est le suivant :


Je conçois un control un OCX qui ne contient qu’un seul control qui est un Label


Quand je mets la propriété Backstyle du UserControl et celle le Label à « transparent » la chaîne de caractères (label.caption) n’est plus visible sur la form qui reçoit le control OCX. Au fait, ce usercontrol doit servir à afficher une information texte sur une image (comme le ferait un label hors usercontrol) mais avec des focntion un peu particulieres mais rein de bien mechant qd meme.




J’ai essayé pas mal de choses et la conclusion à laquelle j’aboutie est que VB ne peut dessiner la chaîne de caractères que si le fond est « solid ». D’un autre coté cela me parait bizarre que l’on puisse pas faire ce genre de truc. D’autant plus que le control de base Label sait très bien le faire de lui-même dans le cas d’une form.



 




Si quelqu’un a déjà rencontré ce pb je le remercie d’avance de son aide. Ca fait trois jours que le bloque sur ce truc…….Ou alors je me plante completement car je suis debutant en matiere de creation de usercontrol.

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 juin 2009 à 20:33
Salut
Bizarre.
Je ne pense pas que cela vienne du composant Label que tu utilises, mais plutôt de la méthode graphique de Windows.
Après avoir modifié son BackStyle, essaye de faire un Refresh du Label dans le User Control (UC), ou de la forme qui accueille le UC
Regarde aussi du côté de la propriété AutoRedraw de la forme ou du UC

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 juin 2009 à 20:37
Euh ... au fait, un Label dans un UC, Ok, mais c'est peut-être au fond du UC qu'il faudrait associer la transparence/opacité, non ?
Parce que le Label est supporté par le UC qui est supporté à son tour par la forme.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 juin 2009 à 20:54
salut,

un label est dessiné sur son parent, ce n'est pas une "fenêtre"
si son parent est transparent, tu ne pourras donc pas "voir" le label en transparence (depuis le usercontrol) sur la form
le seul moyen est de dessiner ta chaine, sans passer par un label donc

++


Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
cs_spongbob Messages postés 5 Date d'inscription mercredi 15 mars 2006 Statut Membre Dernière intervention 3 février 2013
3 juin 2009 à 13:14
Salut à tous !



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Merci pour vos conseils. Malheureusement je viens de découvrir que ce comportement du label dans un UC quand ces 2 objets ont des backstyle à transparent est « normal ». En fait c’est un bug de VB. Ce lien qui confirme ceci. http://support.microsoft.com/kb/179052/en-us/



 




Bon ça confirme bien le pb mais ça ne le résout pas ! En fait je dois afficher une chaîne de caractères de couleur variable en fonction d’une propriété, pouvoir faire clignoter le tout en fonction de l’état d’une autre propriété. Le tout devant être affichable sur une picturebox. La solution du ctrl ocx permettait d’encapsuler tout ces fonctionnalités et simplifiait le code de mon soft. Quelqu’un aurait-il une solution à mon pb ?
0
Rejoignez-nous