Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Détection du boutton central de la souris

3 réponses
Avatar
Jean Doumeyrou
Bonjour à tous

J'utilise Access 2000 avec SP2

Ma procédure événementielle veut bien détecter un clic sur le bouton droit ,
le gauche , et ce aussi bien avec Shift_MASK , Alt_MASK et CTRL_Mask
Mais reste muette pour le bouton du milieu

Mon code commence comme ceci

Private Sub Détail_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)

If Button = LEFT_BUTTON And Shift = SHIFT_MASK Then
Forms!Formulaire1!Texte0 = "Gauche+maj" ....................... là,
ça marche

ElseIf Button = MIDDLE_BUTTON And Shift = SHIFT_MASK Then
Forms!Formulaire1!Texte8 = "Centre+Maj"
................................ là, ça ne marche pas

etc...
End if
End sub

J'ai même changé de souris rien n'y fait
Or ce genre de manip est citée dans l'aide VBA et dans le manuel Microsoft
de référence du langage

Quelqu'un peut-il me dire où est mon erreur ?

Merci d'avance

JeanD

3 réponses

Avatar
Raymond [mvp]
Bonjour.

ça devrait fonctionner. essaie avec la procédure ci-dessous pour voir si tu
retrouves bien les bonnes valeurs de touches.

Option Compare Database
Option Explicit
'déclaration des valeurs des touches
Enum Latouche
Pas_Touche
Maj
Ctrl
Maj_ctrl
Alt
Maj_Alt
Ctrl_Alt
Maj_Ctrl_Alt
End Enum


Private Sub Commande0_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Me.Texte1 = ""
Select Case Button
Case 1: Me.Texte1 = "Gauche"
Case 2: Me.Texte1 = "Droit"
Case 3: Me.Texte1 = "Central"
Case 4: Me.Texte1 = "Double-Roulette"
End Select
Select Case Shift
Case Maj: Me.Texte1 = Me.Texte1 & " + Majuscules"
Case Ctrl: Me.Texte1 = Me.Texte1 & " + Ctrl"
Case Maj_ctrl: Me.Texte1 = Me.Texte1 & " + Majuscules + Ctrl"
Case Alt: Me.Texte1 = Me.Texte1 & " + Alt"
Case Maj_Alt: Me.Texte1 = Me.Texte1 & " + Majuscules + Alt"
Case Ctrl_Alt: Me.Texte1 = Me.Texte1 & " + Ctrl + Alt"
Case Maj_Ctrl_Alt: Me.Texte1 = Me.Texte1 & " + Majuscules + Ctrl +
Alt"
End Select
End Sub



--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Participez au jeu-concours Microsoft Windows Mobile, pour gagner des
téléphones mobiles LG KS20
http://www.comscamp.com/Tracker/Redirect.ashx?linkidªc7f072-9dad-43dc-aef7-76045479840d

"Jean Doumeyrou" a écrit dans le message de news:
475c35e0$0$27393$
| Bonjour à tous
|
| J'utilise Access 2000 avec SP2
|
| Ma procédure événementielle veut bien détecter un clic sur le bouton droit
,
| le gauche , et ce aussi bien avec Shift_MASK , Alt_MASK et CTRL_Mask
| Mais reste muette pour le bouton du milieu
|
| Mon code commence comme ceci
|
| Private Sub Détail_MouseDown(Button As Integer, Shift As Integer, X As
| Single, Y As Single)
|
| If Button = LEFT_BUTTON And Shift = SHIFT_MASK Then
| Forms!Formulaire1!Texte0 = "Gauche+maj" .......................
là,
| ça marche
|
| ElseIf Button = MIDDLE_BUTTON And Shift = SHIFT_MASK Then
| Forms!Formulaire1!Texte8 = "Centre+Maj"
| ................................ là, ça ne marche pas
|
| etc...
| End if
| End sub
|
| J'ai même changé de souris rien n'y fait
| Or ce genre de manip est citée dans l'aide VBA et dans le manuel Microsoft
| de référence du langage
|
| Quelqu'un peut-il me dire où est mon erreur ?
|
| Merci d'avance
|
| JeanD
|
|
Avatar
Jean Doumeyrou
Bonjour Raymond

Merci de t'intéresser à mon problème

J'ai testé ton procédés sur ma machine , malheureusement il ne me détecte
pas le bouton central alors qu'il fonctionne très bien pour le gauche et le
droit (il renvoie bien les bonnes valeurs de ces deux derniers boutons et
les touches associées)

J'ai essayé deux souris de factures très différentes dont une avec 2
molettes

Sous quelques jours j'aurais accès à une autre machine avec un Access
différent (2003) et je referai le même essai
Je t'en communiquerai le résultat

Merci encore

JeanD




"Raymond [mvp]" a écrit dans le message de news:

Bonjour.

ça devrait fonctionner. essaie avec la procédure ci-dessous pour voir si
tu
retrouves bien les bonnes valeurs de touches.

Option Compare Database
Option Explicit
'déclaration des valeurs des touches
Enum Latouche
Pas_Touche
Maj
Ctrl
Maj_ctrl
Alt
Maj_Alt
Ctrl_Alt
Maj_Ctrl_Alt
End Enum


Private Sub Commande0_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Me.Texte1 = ""
Select Case Button
Case 1: Me.Texte1 = "Gauche"
Case 2: Me.Texte1 = "Droit"
Case 3: Me.Texte1 = "Central"
Case 4: Me.Texte1 = "Double-Roulette"
End Select
Select Case Shift
Case Maj: Me.Texte1 = Me.Texte1 & " + Majuscules"
Case Ctrl: Me.Texte1 = Me.Texte1 & " + Ctrl"
Case Maj_ctrl: Me.Texte1 = Me.Texte1 & " + Majuscules + Ctrl"
Case Alt: Me.Texte1 = Me.Texte1 & " + Alt"
Case Maj_Alt: Me.Texte1 = Me.Texte1 & " + Majuscules + Alt"
Case Ctrl_Alt: Me.Texte1 = Me.Texte1 & " + Ctrl + Alt"
Case Maj_Ctrl_Alt: Me.Texte1 = Me.Texte1 & " + Majuscules + Ctrl +
Alt"
End Select
End Sub



--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Participez au jeu-concours Microsoft Windows Mobile, pour gagner des
téléphones mobiles LG KS20
http://www.comscamp.com/Tracker/Redirect.ashx?linkidªc7f072-9dad-43dc-aef7-76045479840d

"Jean Doumeyrou" a écrit dans le message de
news:
475c35e0$0$27393$
| Bonjour à tous
|
| J'utilise Access 2000 avec SP2
|
| Ma procédure événementielle veut bien détecter un clic sur le bouton
droit
,
| le gauche , et ce aussi bien avec Shift_MASK , Alt_MASK et CTRL_Mask
| Mais reste muette pour le bouton du milieu
|
| Mon code commence comme ceci
|
| Private Sub Détail_MouseDown(Button As Integer, Shift As Integer, X As
| Single, Y As Single)
|
| If Button = LEFT_BUTTON And Shift = SHIFT_MASK Then
| Forms!Formulaire1!Texte0 = "Gauche+maj" .......................
là,
| ça marche
|
| ElseIf Button = MIDDLE_BUTTON And Shift = SHIFT_MASK Then
| Forms!Formulaire1!Texte8 = "Centre+Maj"
| ................................ là, ça ne marche pas
|
| etc...
| End if
| End sub
|
| J'ai même changé de souris rien n'y fait
| Or ce genre de manip est citée dans l'aide VBA et dans le manuel
Microsoft
| de référence du langage
|
| Quelqu'un peut-il me dire où est mon erreur ?
|
| Merci d'avance
|
| JeanD
|
|




Avatar
Jean Doumeyrou
Re bonjour Raymond

Comme promis dans mon précédent mail j'ai fait un essai de détection du
bouton central sur une autre machine que la mienne avec cette fois Access
2003 et XP version familiale et bien sur une autre souris

Même résultats on détecte bien les boutons gauche et droit , mais rien pour
le central !!

Si tu avais d'autres idées , je suis preneur
Merci

JeanD


"Raymond [mvp]" a écrit dans le message de news:

Bonjour.

ça devrait fonctionner. essaie avec la procédure ci-dessous pour voir si
tu
retrouves bien les bonnes valeurs de touches.

Option Compare Database
Option Explicit
'déclaration des valeurs des touches
Enum Latouche
Pas_Touche
Maj
Ctrl
Maj_ctrl
Alt
Maj_Alt
Ctrl_Alt
Maj_Ctrl_Alt
End Enum


Private Sub Commande0_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Me.Texte1 = ""
Select Case Button
Case 1: Me.Texte1 = "Gauche"
Case 2: Me.Texte1 = "Droit"
Case 3: Me.Texte1 = "Central"
Case 4: Me.Texte1 = "Double-Roulette"
End Select
Select Case Shift
Case Maj: Me.Texte1 = Me.Texte1 & " + Majuscules"
Case Ctrl: Me.Texte1 = Me.Texte1 & " + Ctrl"
Case Maj_ctrl: Me.Texte1 = Me.Texte1 & " + Majuscules + Ctrl"
Case Alt: Me.Texte1 = Me.Texte1 & " + Alt"
Case Maj_Alt: Me.Texte1 = Me.Texte1 & " + Majuscules + Alt"
Case Ctrl_Alt: Me.Texte1 = Me.Texte1 & " + Ctrl + Alt"
Case Maj_Ctrl_Alt: Me.Texte1 = Me.Texte1 & " + Majuscules + Ctrl +
Alt"
End Select
End Sub



--
@+
Raymond Access MVP http://OfficeSystemAccess.seneque.net/
http://officesystem.access.over-blog.com/
Pour débuter sur le forum: http://www.mpfa.info/

Participez au jeu-concours Microsoft Windows Mobile, pour gagner des
téléphones mobiles LG KS20
http://www.comscamp.com/Tracker/Redirect.ashx?linkidªc7f072-9dad-43dc-aef7-76045479840d

"Jean Doumeyrou" a écrit dans le message de
news:
475c35e0$0$27393$
| Bonjour à tous
|
| J'utilise Access 2000 avec SP2
|
| Ma procédure événementielle veut bien détecter un clic sur le bouton
droit
,
| le gauche , et ce aussi bien avec Shift_MASK , Alt_MASK et CTRL_Mask
| Mais reste muette pour le bouton du milieu
|
| Mon code commence comme ceci
|
| Private Sub Détail_MouseDown(Button As Integer, Shift As Integer, X As
| Single, Y As Single)
|
| If Button = LEFT_BUTTON And Shift = SHIFT_MASK Then
| Forms!Formulaire1!Texte0 = "Gauche+maj" .......................
là,
| ça marche
|
| ElseIf Button = MIDDLE_BUTTON And Shift = SHIFT_MASK Then
| Forms!Formulaire1!Texte8 = "Centre+Maj"
| ................................ là, ça ne marche pas
|
| etc...
| End if
| End sub
|
| J'ai même changé de souris rien n'y fait
| Or ce genre de manip est citée dans l'aide VBA et dans le manuel
Microsoft
| de référence du langage
|
| Quelqu'un peut-il me dire où est mon erreur ?
|
| Merci d'avance
|
| JeanD
|
|