Ignorer clic droit de la souris

Signaler
Messages postés
24
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2008
-
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
-
Bonjour,

Je voudrais savoir si qq sait comment on peut ignorer le clic droit de la souris (avec api si possible)?

Merci

6 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
23
Si c'est ton Application, tu testes dans l'évênement MouseDown
if Button = 2 then ...

Pour récupérer les évênement souris tu utilises:
ReleaseCapture et SetCapture
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
20
De plus, si dans ton application, tu ne spécifie rien pour prendre en compte les clics droits, alors le clic droit est ignoré.

Pour toujours ignorer les clics droits, il ne faut rien faire puisque par défaut, ils sont ignorés dans ton application.

Manu
Messages postés
24
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2008

Je vais vous contredire car j'ai un composant qui est une zone de saisie de texte et si je fais un clic droit sur ce dernier, un menu apparait : avec "annuler,couper,coller......". et je voudrais ne pas afficher ce menu!!!!
Ca vous parait peut-être bête, mais mon programme fait des mesures toutes les 500ms avec un timer et le timer se bloque "parfois" lorsque ce menu s'affiche.
C'est pourquoi je cherche une api qui ignore le clic droit de la souris!

:-))
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
23
détourner tous les évênements souris, ce qui entraîne un problème pour arrêter. prévoir un bouton Quitter dont les coordonnées seront x1,x2,y1,y2

Dim x1 As Integer
Dim x2 As Integer
Dim y1 As Integer
Dim y2 As Integer
Dim bb As Boolean

Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long

Private Sub Form_Load()
    x1 = Command1.Left
    y1 = Command1.Top
    x2 = x1 + Command1.Width - 1
    y2 = y1 + Command1.Height - 1
    SetCapture Me.hwnd
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
       If X > x1 And X < x2 And Y > y1 And Y < y2 Then bb = True
       End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If bb = True Then Exit Sub
    ReleaseCapture
    SetCapture Me.hwnd
End Sub
Messages postés
24
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
19 mai 2008

Merci pour ce bout de code mais c'est tout à fait ce que je recherche. Il me faut absolument désactiver que le bouton droit de la souris.
Désolé
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
20
Ayé, je pense avoir enfin compris ton problème ... lol

Va voir
ICI

Manu