romain182
Messages postés3Date d'inscriptiondimanche 30 janvier 2005StatutMembreDernière intervention 7 février 2005
-
7 févr. 2005 à 17:21
GlanduSchmoldu
Messages postés199Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention27 octobre 2006
-
28 mai 2005 à 15:44
salut a tous
je débute dans le VB et j'arrive pas a créer un truc : quel est le code pour faire en sorte que quand on fait un clic droit avec la souris il nous affiche les informations que l'on veut
moi j'avais ça mais ça marche pas
<SAMP>Private Sub</SAMP><SAMP> Form_MouseDown(Button </SAMP><SAMP>As Integer</SAMP><SAMP>, Shift </SAMP><SAMP>As Integer</SAMP><SAMP>, X </SAMP><SAMP>As Single</SAMP><SAMP>, Y </SAMP><SAMP>As Single)</SAMP>
<SAMP>If</SAMP><SAMP> (Button = 2) </SAMP><SAMP>Then</SAMP>
<SAMP>PopupMenu X</SAMP><SAMP>end if</SAMP><SAMP> <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 7 févr. 2005 à 17:30
As-tu mis un point d'arrêt sur la ligne
If<SAMP> (Button = 2) </SAMP><SAMP>Then
</SAMP>pour voir quelle est la valeur de Button quand tu fais un clic droit ?
2e point : tu devrais mettre ton code sur le MouseUp, plutôt que sur le MouseDown
romain182
Messages postés3Date d'inscriptiondimanche 30 janvier 2005StatutMembreDernière intervention 7 février 2005 7 févr. 2005 à 18:18
merci d'avoir répondu le truc c que j'y connais pas grand chose en VB et pourtant j'aimerai bien en savoir plus, g mis un point d'arrêt mais je sais pas trop quoi faire avec ça
avant il faut créer des truc
Dans une quelconque application de Microsoft, lorsque vous cliquez sur le bouton droit de votre souris, une série de commande apparaît: c'est le menu contextuel (ou Popup menu en anglais).
La création d'un popup menu se fait presque comme un système de menu. Pour cela, faites exactement comme si vous créez un système de menu. Définissez ensuite, une action pour chaque commande du menu contextuel. Par la suite, il faut définir dans quelles conditions doit apparaître le menu contextuel.
C a partir de ça que je voulais essayer. mais ça marche pas ou y a un truc que g loupé !
mrdep1978
Messages postés402Date d'inscriptionjeudi 25 novembre 2004StatutMembreDernière intervention 7 juin 20097 7 févr. 2005 à 18:30
C'est peut-être la valeur du bouton droit qui n'est pas 2.
Le point d'arrêt va bloquer le code à l'endroit où tu l'as mis. Tu peux ensuite voir la valeur de chaque variable en passant la souris au-dessus (ou en sélectionnant la variable et en faisant Shift + F9).
Tu peux aussi utiliser le Debug.Print :
<SAMP>
Private Sub</SAMP><SAMP> Form_MouseUp(Button </SAMP><SAMP>As Integer</SAMP><SAMP>, Shift </SAMP><SAMP>As Integer</SAMP><SAMP>, X </SAMP><SAMP>As Single</SAMP><SAMP>, Y </SAMP><SAMP>As Single)
</SAMP>Debug.Print "Valeur du bouton cliqué :" & Button
<SAMP>If</SAMP><SAMP> (Button = 2) </SAMP><SAMP>Then</SAMP>
<SAMP>PopupMenu X</SAMP><SAMP>end if</SAMP><SAMP> <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />
</SAMP>
<SAMP>End Sub
Avec ça, quand tu fais un clic (gauche ou droit) dans la fenêtre Exécution (Ctrl+G) de VB, tu devrais voir la valeur du bouton correspondant à celui sur lequel tu cliques.
Egalement, si tu as mis des frames, boutons, textbox ..., c'est l'événement MouseUp de chacun de ces composants qui va se déclencher si c'est sur eux que tu cliques, et pas l'événement MouseUp de la Form.</SAMP>
GlanduSchmoldu
Messages postés199Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention27 octobre 20061 7 févr. 2005 à 18:39
Euh je dis peut etre une bétise j'ai pas VB sous la main, mais il me
semble qu'il faut mettre le nom du menu qu'on veut faire apparaitre
apres la commande PopupMenu (et donc créer ce menu).
Genre :
PopupMenu MonMenu, X, Y
Et puis X et Y sont facultatifs si le menu doit apparaitre au curseur de la souris.
Vous n’avez pas trouvé la réponse que vous recherchez ?
assistant55
Messages postés6Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention21 février 2009 16 mai 2005 à 13:28
Bonjours,
J'ai le même soucis que vous pour l'affichage du menu contextuel lors d'un click droit sur un noeud mais la source que vous avez spécifié ne marche pas ou bien j'ai fait une gaffe queleque part !!!
pouvez vous m'aider
merci d'avance .
assistant55
Messages postés6Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention21 février 2009 16 mai 2005 à 17:26
j'ai un menu treeview et je veut en qques mot afficher un menu contextuel lorsque je fait un clic droit de la souris sur un de ces noeuds !
en fait j'ai fait le tour de tout le site j'ai bien retrouvé des codes sources qui marchent d'apres ce qu'on a signalé mais je n'arrive pas a faire fonctionner un seul
en voici un :
Private Sub TabStrip1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
PopupMenu mnuFichier
End If
End Sub
mais ca ca fonctionne avec un menu Tabstrip
alors j'ai changé le nom de la fonction en treeview_click()
Le résultat final qui me plante maintenant c'est qu'il ne reconnais pas 'PopupMenu'
Alors que faire ???????
?????????
GlanduSchmoldu
Messages postés199Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention27 octobre 20061 28 mai 2005 à 15:44
Ton treeview s'appelle bien "treeview" ?
A tu bien créé un menu s'appelant "mnuFichier" ?
Je vois pas pourquoi il reconaitrait pas PopupMenu.
Plus serieusement la fonction qqch_click() ne renvoit pas le bouton sur
lequel on a appuyé. Il faut garder qqch_MouseDown() (ou qqch_MouseUp)
si tu veux pouvoir écrire "If button = 2"