IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

un peu de POO, fenêtre transparente


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jesslegende
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut un peu de POO, fenêtre transparente
    bonjour tout le monde,
    je souhaite creer une class qui herite du system.windows.forms.form et qui accepte le transparent comme couleur d'arriére plan j'ai procédé comme suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Class TranspForm
        Inherits System.Windows.Forms.Form
     
        Public Sub New()
            Me.SetStyle(ControlStyles.SupportsTransparentBackColor, True)
            Me.BackColor = Color.Transparent
        End Sub
     
    End Class
    j'ai ensuite instancié cette class:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim trspfrm As New TranspForm
    trspfrm.BackColor = Color.Transparent
    trspfrm.Show()
    le problème c'est que les object fenêtres transparentes ne prennent pas le couleur transparente en arriére plan, donc si quelque peut m'aider à comprends la raison je lui serai reconaissant,

    merci d'avance.

  2. #2
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    On ne peut pas passer la variable transparent à backcolor pour les forms.
    Il faut utiliser la transparencekey pour la transparence des forms.

  3. #3
    Membre confirmé Avatar de jesslegende
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut
    je te remercie,
    pour que ca soit propre je préfére creer une class, c'était une solution que j'ai trouvé sur le net et m'a plu, comme j'ai expliqué ici http://www.developpez.net/forums/d91...parent-vb-net/
    une solution que je trouve logic, parsque les forms herite de la class control et l'élément SupportsTransparentBackColor de l'enumeration ControlStyles agis dans le sens:
    Si la valeur true est affectée, le contrôle accepte BackColor avec un composant alpha inférieur à 255 pour simuler la transparence. La transparence ne sera simulée que si true est affecté au bit UserPaint et si le contrôle parent est dérivé de Control.
    donc en quelque sort il est possible de creer cette class, non?

  4. #4
    Membre confirmé Avatar de jesslegende
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut
    Citation Envoyé par Danyel Voir le message
    On ne peut pas passer la variable transparent à backcolor pour les forms.
    Il faut utiliser la transparencekey pour la transparence des forms.
    re,
    c'est vrai pas de solution meracle,

    si le bit ControlStyles.SupportsTransparentBackColor est situé en true dans le cas d'un formulaire, cela signifie que le formulaire va prendre en charge la couleur transparente, mais elle ne deviendra pas transparente.
    vous pouvez le tester,

    mettez qqp:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.BackColor = Color.Transparent
    c'est tout.

    vous aurez une argumentexception qui a comme message:
    Le contrôle ne prend pas en charge les couleurs d'arrière-plan transparentes.
    ajoutez avant cette instruction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SetStyle(ControlStyles.SupportsTransparentBackColor, True)
    et il n y aura plus d'exception.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fenêtre transparente
    Par c-top dans le forum Agents de placement/Fenêtres
    Réponses: 16
    Dernier message: 10/10/2013, 12h33
  2. Réponses: 6
    Dernier message: 18/03/2008, 20h55
  3. [Win32] Problème de fenêtre transparente et DirectX
    Par Reeter dans le forum Visual C++
    Réponses: 25
    Dernier message: 02/11/2006, 18h45
  4. Fenêtre transparente . . .
    Par lebesnec dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 25/10/2006, 17h24
  5. [GTK#] Fenêtre transparente ?
    Par nicolas.pied dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 15/05/2006, 22h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo