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

Dotnet Discussion :

VisualStyleElement d'une barre d'outils


Sujet :

Dotnet

  1. #1
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut VisualStyleElement d'une barre d'outils
    Bonjour,

    Voila, en gros j'ai une barre d'outil comme celle qui est sur cette capture (recupérée dans un autre topic, merci !)



    Je parle bien de la barre d'outils bleue juste au-dessus des onglets.

    Pour des raisons un peu particulières, j'aurais besoin de dessiner le fond d'un controle avec le même style.

    J'ai donc fait un controle personnalisé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
            ' Dessin du fond
            Dim renderer As VisualStyleRenderer
            renderer = New VisualStyleRenderer(VisualStyleElement.ExplorerBar.NormalGroupBackground.Normal)
            renderer.DrawBackground(e.Graphics, e.ClipRectangle)
        End Sub
    J'ai essayé avec plusieurs "VisualStyleElement" différents (toolbar, window...) mais pas moyen de trouver celui qui dessine le fond de la barre d'outils !

    Je precise que j'utilise un "VisualStyleRenderer" pour que le dessin s'adapte au theme selectionné par l'utilisateur.

    Quelqu'un aurait-il une piste ?

    Merci !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    J'ai pas l'impression que ce soit possible avec VisualStyleRenderer.
    Il y a aussi une classe ToolStripRenderer (abstraite) avec un classe héritée ToolStripSystemRenderer qui semble prendre en compte le style visuel du système. Par contre j'ai pas l'impression qu'on puisse dessiner sur autre chose qu'un ToolStrip avec cette classe...

  3. #3
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    Effectivement, j'ai pu resoudre mon probleme comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            Dim backRenderer As ToolStripRenderer = ToolStripManager.Renderer()
            Dim backEvent As ToolStripRenderEventArgs
            Dim backStrip As ToolStrip
     
            backStrip = New ToolStrip()
            backEvent = New ToolStripRenderEventArgs(e.Graphics, backStrip)
            backRenderer.DrawToolStripBackground(backEvent)
    Merci !

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    pas mal, j'avais pas pensé à lui passer un ToolStrip bidon

  5. #5
    Membre éclairé
    Avatar de buzzkaido
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2004
    Messages
    821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2004
    Messages : 821
    Points : 734
    Points
    734
    Par défaut
    Ben j'y croyais pas trop, j'ai essayé quand même...

    Le dot net, c'est comme une boite de chocolats... on sait jamais ce qu'il va se passer !

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

Discussions similaires

  1. [VCL] Comment faire une barre d'outils skinable comme FireFox ?
    Par DarkChamallo dans le forum Composants VCL
    Réponses: 23
    Dernier message: 07/05/2008, 18h03
  2. Gérer une barre d'outils
    Par Jean Claude BOULET dans le forum Access
    Réponses: 2
    Dernier message: 07/10/2004, 22h54
  3. Ajouter une barre d'outils à une sous fenêtre
    Par barthelv dans le forum MFC
    Réponses: 6
    Dernier message: 23/04/2004, 14h17
  4. [] Raccourci clavier pour bouton d'une barre d'outil
    Par Sébastien dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/03/2003, 17h02

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