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

Windows Forms Discussion :

[VB.NET] Context Menu avec icones


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Points : 19
    Points
    19
    Par défaut [VB.NET] Context Menu avec icones
    Bonjour,

    Je désire dans une application ajouter un context menu sur un bouton de ma toolbar (bouton de style DropDownButton)

    Jusque la pas de problème j'ai bien mon menu contextuel.

    Mais pas moyen d'ajouter une icone pour agrémenter un peu ce context menu.

    J'ai essayer sans succes avec une classe qui héritais de MenuItem comme j'ai trouver dans quelque exemple.

    voici le code essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
      Protected Overrides Sub OnDrawItem(ByVal e As DrawItemEventArgs)
            MyBase.OnDrawItem(e)
     
            Dim br As Brush
            Dim fDisposeBrush As Boolean
            Console.WriteLine(m_IconPath)
            If Not m_Icon Is Nothing Then
                e.Graphics.DrawIcon(m_Icon, e.Bounds.Left + 2, e.Bounds.Top + 2)
     
            End If
     
     
            Dim rcBk As Rectangle = e.Bounds
            rcBk.X += 32
     
            If CBool(e.State And DrawItemState.Selected) Then
                br = New LinearGradientBrush(rcBk, SystemColors.Highlight, SystemColors.Control, 0)
                fDisposeBrush = True
            Else
                br = SystemBrushes.Control
            End If
            e.Graphics.FillRectangle(br, rcBk)
            ' Only Dispose the brush if we created it, not if it was retrieved from SystemBrushes
            If fDisposeBrush Then br.Dispose()
            br = Nothing
     
            Dim sf As StringFormat = New StringFormat()
            sf.HotkeyPrefix = HotkeyPrefix.Show
            sf.SetTabStops(60, New Single() {0})
            br = New SolidBrush(e.ForeColor)
            e.Graphics.DrawString(GetRealText(), m_Font, br, e.Bounds.Left + 25, e.Bounds.Top + 2, sf)
            br.Dispose()
            br = Nothing
            sf.Dispose()
            sf = Nothing
     
        End Sub
    Merci d'avance pour vos solutions, pistes et autres réponses[/code]

  2. #2
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    si tu utilise le framework 2.0 il me semble que c'est géré en natif.
    Si tu es avec le framework 1.1 il me semble que tu peux trouver un composant qui le fait sur www.codeproject.com

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  3. #3
    Membre habitué Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 183
    Points
    183
    Par défaut
    tu trouveras plusieurs exemples pour .Net 1.1 sur codeproject notamment ici
    en sachant qu'en 2.0 tu peux le faire directement

  4. #4
    Membre habitué Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 183
    Points
    183
    Par défaut
    les grands esprits se rencontrent lol

  5. #5
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    Citation Envoyé par del-dongo
    les grands esprits se rencontrent lol
    +1

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  6. #6
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Bonjour pierre.ricci

    Citation Envoyé par La règle du forum
    Utilisation des tags:
    Afin de faciliter la recherche et la navigation sur ce forum, nous avons mis en place un système de tags (Mots clés entre crochets dans les titres des messages). Ces tags ont pour but de déterminer de manière immédiate le langage en question : ...
    voir > http://www.developpez.net/forums/viewtopic.php?t=326092

    Soyez rigoureux quant aux respects des règles du forum, elles vous garantissent également les réponses les plus appropriées à résoudre votre souci, tout en veillant à ne pas incommoder inutilement les professionnels qui donnent benevolement de leur compétence à vous répondre.

    Veillez à vous mettre en règle en éditant votre post afin de modifier votre titre en conséquence.
    (Bouton en haut à droite du premier post de ce thread)

    Je vous remercie de votre attention à maintenir le forum agréable et efficace.

    Cordialement
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Le code est corect et correspond à pratiquement à celui trouver sur code project. Le problème se trouvais dans les définitions des icones (tailles, couleur,..)

    Merci

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

Discussions similaires

  1. Context menu avec les menuItem ajouter de façon horizontale
    Par boubou38 dans le forum Développement Windows
    Réponses: 0
    Dernier message: 31/01/2013, 12h26
  2. Context menu avec MVC
    Par Jason T dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 13/01/2012, 15h35
  3. créer menu avec icones vb6
    Par sasukexd dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 12/04/2011, 13h16
  4. menu avec icone et racourci
    Par Invité dans le forum VB.NET
    Réponses: 4
    Dernier message: 28/11/2010, 12h23
  5. Context menu Windows - icone pour un item
    Par Cameleon45 dans le forum Composants VCL
    Réponses: 7
    Dernier message: 07/03/2003, 13h48

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