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 6 et antérieur Discussion :

Ajout d'un popupmenu a un Combobox


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Par défaut Ajout d'un popupmenu a un Combobox
    Bonjour ,je voudrai savoir s'il est possible d'ajouter un popupmenu a un combobox sachant que l'evemnement qui doit déclancher le popupmenu est le click droit de la souris (sachant aussi que le combobox a par defaut sont popupmenu donc comment le désactiver et le remplacer avec un autre )
    "sous vb6"
    merci.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    Importance des mots ...!!!

    1) le click sur une combo ne peut être reconnu que dans la zone de liste de la combo
    2) la zone "éditable" ne répond pas à un évènement pouvant reconnaître, depuis VB, le bouton utilisé
    3) la seule "pop-up" que je voie personnellement s'appelle le menu contextuel ouvert par VB sur click droit dans la zone éditable ...

    Il va donc te falloir (c'est indispensable) être extrêmement précis sur ces points, en précisant (avec détails) ce que tu veux modifier, en cliquant sur quoi précisément et dans quel but précis ...

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Par défaut Précision
    En bref
    Je veux afficher un menu contextuel en cliquant sur la zone éditable d’un combo box (avec un liste box ça marche très bien)

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Une listbox n'a pas de zone éditable...
    Il ne t'est donc possible, dans une listbox, que d'ajouter un menu contextuel lors d'un évènement de souris dans la liste elle-même
    Tu pourrais faire exactement la même chose, avec une combobox, mais également dans la zone de liste, pas dans la zone éditable qui, elle, n'est pas capable re reconnaître depuis VB le bouton pressé ...
    Rien, ne t'empêche, maintenant, de reconstituer une combobox, qui n'est jamais que l'association d'une zone éditable (que tu peux remplacer par une textbox que tu peux doter d'un menu contextuel personnalisé) et d'une zone de liste (que tu peux remplacer par une listbox).
    Tout celà, maintenant (je répète ma question) : pourquoi (dans quel but exact) ?.. car si cela se trouve, il y a peut-être beaucoup plus simple à mettre en oeuvre (si c'est par exemple pour empêcher un "coller" !...)

  5. #5
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Par défaut
    je viens de comprendre j''ai suivi ton conseil j'ai reconstituer un combocox
    mais le hik c'est meme le textbox me donne un menu contextuel par defaut
    qui s'affiche avec le click droit

    pour ta question : mon but avec le menu contextuel et le combobox c'est de pouvoir faire des mise a jour proposer dans le menu contextuel sur l'element selectionné dans le combo box tout en sachant que ce dérnier est dynamique

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Citation Envoyé par cmon_compte Voir le message
    je viens de comprendre j''ai suivi ton conseil j'ai reconstituer un combocox
    mais le hik c'est meme le textbox me donne un menu contextuel par defaut
    qui s'affiche avec le click droit

    pour ta question : mon but avec le menu contextuel et le combobox c'est de pouvoir faire des mise a jour proposer dans le menu contextuel sur l'element selectionné dans le combo box tout en sachant que ce dérnier est dynamique
    Bon...
    Il faut alors que tu saches ce qui suit :
    Il est toujours possible de supprimer ou modifier le menu contextuel d'une textbox, mais la chose passe nécessairement par le sous-classement (par Fonctions de l'Api de Windows) et on peut alors décider :
    - soit de supprimer carrément le menu contextuel et d'écrire une code VB pour ouvrir une pop-up (à fabriquer) au click droit
    - soit de substituer (-plus dur encore) au menu originel un menu "sur mesure"

    Dans les deux cas de figure ci-dessus, une très bonne connaissance du sous-classement (toujours dangereux pour une appli si on ne sait pas le gérer parfaitement) est absolument indispensable.

    Ce que tu exposes ne me parais pas nécessiter cette acrobatie (correspond-elle d'ailleurs aux connaisances que tu possèdes ?), puisqu'au bout du compte, ce que tu veux est (citation)
    "pouvoir faire des mise a jour proposer dans le menu contextuel sur l'element selectionné dans le combo box"
    Il te suffit alors d'un simple bouton additionnel contenant ton code et utilisant l'article sélectionné ! Ou encore (si tu veux éviter le bouton additionnel) d'utiliser l'évènement click-droit sur l'article sélectionné pour exécuter tes instructions !...

    EDIT et afin qu'il n'y ait aucune espèce d'ambiguïté :

    Il est clair que ce que je te propose s'applique au cas de la substitution (à la combobox) d'une textbox et d'une listbox, hein ...

    et voilà comment récupérer l'article sélectioonné par ce click droit sur l'article PREALABLEMENT SELECTIONNE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
     If Button = 2 Then
       MsgBox "tu as cliqué sur l'article " & List1.ListIndex & " qui dit " & List1.List(List1.ListIndex)
     End If
    End Sub
    C'est tout et c'est simple ...

Discussions similaires

  1. ajout d'un popupmenu avec right clik
    Par nanouchg dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 15/03/2011, 11h18
  2. Ajouter un binding vers null à une combobox
    Par sovitec dans le forum Silverlight
    Réponses: 6
    Dernier message: 10/02/2011, 15h59
  3. Ajouter un paragraphe selon choix du combobox
    Par anita07 dans le forum VBA Word
    Réponses: 7
    Dernier message: 23/12/2009, 14h46
  4. Réponses: 2
    Dernier message: 30/09/2009, 16h55
  5. Ajouter un élément TExtBox dans un combobox
    Par programaniac dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/03/2008, 18h36

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