OVH Cloud OVH Cloud

Constante

5 réponses
Avatar
garnote
Bonsoir,

Quelqu'un saurait-il me donner un exemple d'utilisation
de la constante vbKeyRButton ?

Serge

5 réponses

Avatar
JpPradier
bonsoir Serge

M'est avis que ça doit avoir rapport avec le bouton droit de la souris. De là à l'utiliser ...

j-p

"garnote" a écrit dans le message de news:6mnzc.19081$
Bonsoir,

Quelqu'un saurait-il me donner un exemple d'utilisation
de la constante vbKeyRButton ?

Serge




Avatar
michdenis
Bonjour,

Attention, toutes les constantes VBA ne sont pas nécessairement utilisables dans Excel... Les applications Microsoft
contiennent plusieurs logiciels et il est possible que certaines soient d'usage seulement dans certains d'entre eux.

IL y a bien un truc comme celui-ci ... qui provient peut être d'un message de Frédéric Sigonneau.. je ne sais plus .


Dans un module standard :

Public Declare Function GetKeyState _
Lib "user32" (ByVal nVirtKey As Long) As Integer


Public Const VK_LBUTTON = &H1
Public Const VK_RBUTTON = &H2


Dans un module d'une feuille de calcul
'-------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If GetKeyState(VK_LBUTTON) = 1 Then
MsgBox "bouton gauche souris"
ElseIf GetKeyState(VK_RBUTTON) < 0 Then
MsgBox "bouton droit souris"
End If

End Sub
'-------------------------

Et dans un formulaire, dans les événements de la souris comme :

'------------------
Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

End Sub
'------------------

C'est la variable Bouton qui joue le rôle VbLBUTTON ou VbRBUTTON



Salutations!




"garnote" a écrit dans le message de news:6mnzc.19081$
Bonsoir,

Quelqu'un saurait-il me donner un exemple d'utilisation
de la constante vbKeyRButton ?

Serge
Avatar
GD
Bonsour(®) Serge,
je ne saurai que trop te conseiller de télécharger le API-guide sur
http://WWW.allapi.net ou bien http://www.mentalis.org/agnet/apiguide.shtml
si tu peux accéder à Visual Studio il existe plusieurs fichiers qui listent
les différentes constantes VB ainsi que leurs valeurs.

Exemple également trouvé sur http://www.devx.com
VB permet d'examiner l'état de boutons de souris lors des evenements
MouseDown, de MouseMove, ou de MouseUp .
Pour déterminer l'état actuel des boutons de souris vous pouvez employer un
des fonctions suivantes:

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long)
As _
Integer

Function LeftButton() As Boolean
LeftButton = (GetAsyncKeyState(vbKeyLButton) And &H8000)
End Function

Function RightButton() As Boolean
RightButton = (GetAsyncKeyState(vbKeyRButton) And &H8000)
End Function

Function MiddleButton() As Boolean
MiddleButton = (GetAsyncKeyState(vbKeyMButton) And &H8000)
End Function

Function MouseButton() As Integer
If GetAsyncKeyState(vbKeyLButton) < 0 Then
MouseButton = 1
End If
If GetAsyncKeyState(vbKeyRButton) < 0 Then
MouseButton = MouseButton Or 2
End If
If GetAsyncKeyState(vbKeyMButton) < 0 Then
MouseButton = MouseButton Or 4
End If
End Function
garnote wrote:
Bonsoir,

Quelqu'un saurait-il me donner un exemple d'utilisation
de la constante vbKeyRButton ?

Serge


Avatar
garnote
Merci à vous trois.

Trouvé et adapté des macros permettant d'obtenir
la position du curseur. Tripatif !

Public Declare Function GetCursorPos Lib "User32" (lpPoint As POINTAPI) As
Long
Public Type POINTAPI
x As Long
y As Long
End Type
Public Ret As Long
Public Pos As POINTAPI

Function p()
Ret = GetCursorPos(Pos)
p = CStr(Pos.x) & "," & CStr(Pos.y)
End Function

Serge
Avatar
GD
Re-bonsour(®) Serge
un petit coup d'oeil là :
http://disciplus.simplex.free.fr/classeursxl/gd-gidipad.zip
si tu as du temps pour améliorer la chose (homotécie, mise à l'échelle,
conversion pixels twips)
Flo t'en sera trés reconnaissante ...
cela fait plusieurs fois quelle m'a relancé à ce sujet
;o)))





garnote wrote:
Merci à vous trois.

Trouvé et adapté des macros permettant d'obtenir
la position du curseur. Tripatif !

Public Declare Function GetCursorPos Lib "User32" (lpPoint As
POINTAPI) As Long
Public Type POINTAPI
x As Long
y As Long
End Type
Public Ret As Long
Public Pos As POINTAPI

Function p()
Ret = GetCursorPos(Pos)
p = CStr(Pos.x) & "," & CStr(Pos.y)
End Function

Serge