Troopers
-
26 avril 2001 à 19:40
oliviervillemain
Messages postés4Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention25 août 2005
-
23 août 2005 à 08:53
Salut!
Le menu contextuel sur un textbox ext celui de cette saloperie de ?$#@ de Windows avec copier couper coller...
Je souhaite créer mon propre menu contextuel d'où le code:
Private Sub myTextBox_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
PopupMenu myMenu
End If
End Sub
jusque là pas de problème!!!
mais à l'execution, lors du click droit sur le textbox le menu contextuel de cette saloperie de ?$#@ de Windows apparait
et lors d'un deuxième click droit mon menu contextuel apparait enfin!!!
Comment faire pour ne pas avoir le menu contextuel de cette saloperie de ?$#@ de Windows ?
Merci d'avance
J'ai le même problème que vous.
C'est à dire:
Je souhaite créer mon propre menu contextuel d'où le code:
Private Sub myTextBox_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
PopupMenu myMenu
End If
End Sub
mais à l'execution, il faut deux clicks droit pour que mon menu contextuel apparaisse enfin!!!
Comment faire pour que mon menu apparaisse la première fois.
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
IFFWarrior
Messages postés5Date d'inscriptionjeudi 28 août 2003StatutMembreDernière intervention17 janvier 2006 9 nov. 2003 à 20:32
un gars a posté ça sur ce site...
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Text1.Enabled = False
Text1.Enabled = True
PopupMenu MnuMenu
End If
End Sub
ma version améliorée (que j'ai fait d'apres celle ci-dessus):
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
' afficher un menu contextuel perso sur un textbox
' avec gestion du texte sélectionné
Dim SelStart As Integer
Dim SelLenght As Integer
If Button = 2 Then
SelStart = Text1.SelStart
SelLenght = Text1.SelLength
Text1.Enabled = False
Text1.Enabled = True
Text1.SelStart = SelStart
Text1.SelLength = SelLength
Text1.SetFocus
PopupMenu MnuMenu
End If
End Sub
oliviervillemain
Messages postés4Date d'inscriptionmercredi 24 septembre 2003StatutMembreDernière intervention25 août 2005 23 août 2005 à 08:53
Salut,
Cette solution du "Enabled = False" n'est malheureusement pas fiable à 100%.
Réalisez une rafale de clic droits et vous verrez votre menu perso apparaître mais également de temps en temps le maudit menu standard de microsoft.
LA solution, car il en existe bien une, est nettement plus dangereuse.
Il est utilisé le hooking (API windows) qui intercepte le clic droit de l'utilisateur avant même que le textbox ne le reçoive.
Si j'ai dit "dangereuse", c'est que si vous arrêtezl'exécution de votre projet par le carré Stop de VB (autrement dit sans passer par l'événement Unload), vous aurez un violent message d'erreur et la fermeture immédiate de votre projet (si vous n'aviez pas sauvegarder c'est dommage...)