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

IHM Discussion :

Capturer le right-click sur un treeview ?


Sujet :

IHM

  1. #1
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 370
    Points : 23 844
    Points
    23 844
    Par défaut Capturer le right-click sur un treeview ?
    Bonjour à tous et merci de votre temp et aide.

    J'ai un controle treeview qui affiche une arborescence de demande. J'aimerai capturer le right-click pour offrir un menu contectuel (ouvrir, ajout, supprimer)

    J'ai essayé en utilisant MenuContextuel du form mais comme le treeview occupe toute la surface il semble intercepter l'événement riggt-click. De plus le treeview ne parait pas distinguer un right-click d'un left-click. Pour lui d'où qu'il vienne un click c'est un click.

    Y a t'il un moyen de savoir quel bouton de la souris a été appuyé ? Une API peut-être ?

    A+

  2. #2
    Membre régulier Avatar de alexkickstand
    Inscrit en
    Octobre 2002
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 165
    Points : 105
    Points
    105
    Par défaut re
    Salut jai eu le meme probleme que toi jai laisse tomber mon premier essai en utilisant la creation d'un menu en vba trop de bug et de conflit pour ma part

    jutilise une api pour faire cela avec une barre personnalise contenant (2 boutons : ajout suppression)

    "custom" est le nom de ma barre personalisee

    voici le code de ma fonction du right clik

    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
     
    Private Sub TreeView1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
     
     
    Dim pt As POINTAPI
    Dim NbPointParPouceX As Long, NbPointParPouceY As Long
     
    'récupère la position de la souris
    GetCursorPos pt
     
    'Récupère le nombre de pixel par pouce
    NbPointParPouceX = GetDeviceCaps(GetDC(0), 88)
    NbPointParPouceY = GetDeviceCaps(GetDC(0), 90)
     
    'Affiche la barre de menu à l'endroit souhaité
     
    'detecte si le bouton droit est clicke
    If Button = acRightButton Then
     
    CommandBars("custom").ShowPopup pt.x - (x / (45000 / NbPointParPouceX)), pt.y + (TreeView1.Height - y) / (45000 / NbPointParPouceY)
     
     
    End If
     
     
    End Sub
    dans un module le code de l'api a copier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Public Type POINTAPI
        x As Long
        y As Long
    End Type
    Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
    Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
    Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
    jespere que ca va un peu t'aider

    pour rappel pour detecter un right click


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'detecte si le bouton droit est clicke
    If Button = acRightButton Then
    ton code
     
    end if

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 370
    Points : 23 844
    Points
    23 844
    Par défaut
    Merci.

    A+

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

Discussions similaires

  1. [AC-2013] Click sur un treeview ne fonctionne plus Access 2013
    Par JulietteBl dans le forum IHM
    Réponses: 0
    Dernier message: 17/09/2013, 16h37
  2. Réponses: 3
    Dernier message: 07/08/2012, 13h27
  3. Capturer l'endroit du click sur une TreeView
    Par Arnaud F. dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/06/2009, 21h56
  4. Evenement right click sur un pushbutton
    Par mihaispr dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 26/03/2009, 09h11
  5. [C#][.Net 2.0] donner focus à Combobox, après click sur treeview
    Par Harry_polin dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/02/2006, 23h27

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