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 :

Explication code VBA sur menu clic droit.


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Points : 24
    Points
    24
    Par défaut Explication code VBA sur menu clic droit.
    Bonjour,

    J'aimerai avoir des explications sur le code qui permet de créer un menu contextuel sur clic droit pour un Treeview (voir photo). J'ai trouvé un code qui fonctionne et que je souhaite adapter pour mon application. Le code est issu de la base exemple Northwind.

    voici ce que je comprends:

    1- sur clic, appel de la fonction suivante pour l'objet Treeview (axProducts)
    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
     
    Private Sub axProducts_NodeClick(ByVal Node As Object)
        axProductsNodeClick Node
    End Sub
     
    Private Sub axProductsNodeClick(nSelectedNode As MSComctlLib.Node, Optional fSkipHistory As Boolean)
        Dim h As New clsHistoryInfo
        strCurrentNode = nSelectedNode.Key
        If Not fSkipHistory Then
            lngHistoryIndex = lngHistoryIndex + 1
            If lngHistoryIndex <= colHistory.Count Then
                colHistory.Item(lngHistoryIndex).strNode = strCurrentNode
                colHistory.Item(lngHistoryIndex).strNodeText = nSelectedNode.Text
            Else
                h.strNode = strCurrentNode
                h.strNodeText = nSelectedNode.Text
                colHistory.Add h
                CommandBars("Treeview").Controls("Forward").Enabled = False
            End If
            CommandBars("Treeview").Controls("Back").Enabled = True
            SetHistoryToolTip
        End If
        Me.lblFullPath.Caption = nSelectedNode.FullPath
    End Sub
    2 - Ensuite dans le module (alxmdlMenus) il y a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Function mnuDelete()
        Screen.ActiveForm.DeleteRecord
    End Function
     
    Public Function mnuAdd()
        Screen.ActiveForm.AddBranch
    End Function
    3 ... qui appelle les fonctions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Sub AddRecord()
        MsgBox "Code to Add"
    End Sub
     
    Public Sub DeleteRecord()
        MsgBox "Code to Delete"
    End Sub
    je ne vois pas ou le menu du clic droit est construit avec les chaines de caractères (Add, Delete) ainsi que les images...

    Merci pour votre aide!
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Bonsoir,

    Il est construit dans cette procédure, du formulaire form_frmTV:

    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
    Private Sub axProducts_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
        If (Button And 2) > 0 Then
            If oTV.SelectedItem Is Nothing Then
                strCurrentNode = "0"
            Else
                strCurrentNode = oTV.SelectedItem.Key
                Select Case Left(strCurrentNode, 1)
                    Case "p", "s", "e"
                        CommandBars("scTreeMisc").ShowPopup ' <==Ici, création du menu popup
                    Case "m"
                        Select Case Mid(strCurrentNode, 2)
                            Case "11"
                                CommandBars("scTreeMisc").ShowPopup '<==Ici, création du menu popup
                        End Select
                End Select
            End If
        End If
     
    End Sub
    Cordialement,

Discussions similaires

  1. Modifier menu clic droit sur une image
    Par humitake dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/05/2011, 18h27
  2. [VBA-W2007]Menu personnalisé sur le clic droit
    Par tazamorte dans le forum VBA Word
    Réponses: 3
    Dernier message: 15/06/2007, 11h23
  3. Désactiver le menu windows sur un clic droit onContextMenu
    Par guidav dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/12/2006, 21h17
  4. pb avec un menu sur le clic droit
    Par lyllith dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/11/2006, 16h23
  5. Est t il possible d'avoir un menu sur un clic droit ???
    Par almisuifre dans le forum C++Builder
    Réponses: 6
    Dernier message: 21/12/2004, 11h21

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