UserControl: comment obtenir la propriété BackStyle=Transparent comme dans un

vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011 - 12 avril 2007 à 20:52
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011 - 13 avril 2007 à 19:17
Salut,
Je contacte qu'on peut cliquer sur un Label avec sa propriété backstyle=transparent, et qu'il réagit aux events MouseDown, Click, etc (dans un Form)

Sur un UserControl, ce Label ne réagit  pas. Pour cela il faut que que la même propriété de l'Usercontrol soit mise sur Opaque

Je vous démanderais comment faire réagir ce label dans ces conditions, ou comment configurer un  Usercontrol transparent pour qu'il réagisse à un clic de souris

Merci

5 réponses

cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
13 avril 2007 à 07:11
bonjour,
Oui, c'est exact, mais je n'ai pas trouvé de parade non plus, je crois que si tout est transparent windows ne le détecte pas, tu a la même chose avec le contrôle image, s'il est vide ou dessiné windows ne le vois pas, sauf avec une image dedans.
Peut être pour contourner, détecter le click souris sur la feuille dans MouseDown ou Up et comparer X et Y avec la position de ton usercontrol.
cordialement
louis
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
13 avril 2007 à 09:54
pas de HitBehavior en .Net ?
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
13 avril 2007 à 10:57
Resalut Rendfield, Mais moi j'utilise VB6 
Cordialement
louis
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
13 avril 2007 à 12:26
Bonjour

Normalement il y a BackColor, onglet Web : Transparent.
Je fais ça quand je veux avoir un arrière plan transparent sous .NET.

Il est plus facile de batiser quelqu'un que de le convertir.(surtout en programmation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0

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

Posez votre question
vicosta Messages postés 178 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 30 novembre 2011
13 avril 2007 à 19:17
merci de vos répondes, après plusieurs recherches  urgentes, j'ai trouvé et ça marche:

usercontrol.borderstyle=none
usercontrol.widowless=true
usercontrol.backstyle=tranparent

Ceci permet de recevoir l'event hitest dans le contrôl, et ainsi programmer les events de la souris ,...
Private Sub UserControl_HitTest(X As Single, Y  As Single, HitResult As Integer)
  If HitResult = vbHitResultOutside Then
        HitResult = vbHitResultHit
    End If
End Sub

Mais ça crée un probléme: la propriété usercontrol.widowless=true invalide la propriété usercontrol.Hwnd,
donc pour faire des SetCapture et ReleaseCapture tu oublie

Alors, comment valider cette transparence active en même temps que sa propriété Hwnd  ?
Merci encore de vos réponses
0
Rejoignez-nous