OVH Cloud OVH Cloud

Coordonnées de la souris

6 réponses
Avatar
Michel69
Bonjour à tous !!

Je n'arrive pas à trouver les coordonnées les variables qui contiennent les
coord. X et Y de la souris, suite à un événement donné.
Je voudrais par exemple afficher une petite fenêtre juste en dessous du
pointer de la souris quand je clique sur un objet lambda !!

Merci de l'info si vous savez !!

Michel

6 réponses

Avatar
Patrice Henrio
Les évènements MouseMove, MouseDown ou MouseUp permettent de récupérer les
coordonnées du pointeur
Private Sub object_MouseMove([index As Integer,] button As Integer, shift As
Integer, x As Single, y As Single)

La syntaxe de l'événement MouseMove comprend les éléments suivants :

Élément Description
object Expression d'objet qui correspond à un objet figurant dans la
rubrique "Application".
index Entier qui désigne le contrôle si celui-ci appartient à ungroupe
de contrôles.
button Entier qui correspond à l'état des boutons de la souris
représenté par un bit si le bouton est enfoncé. Cet argument est un champ
binaire dont le bit 0 correspond au bouton gauche de la souris, le bit 1 au
bouton droit et le bit 2 au bouton du milieu. Ces bits sont associés
respectivement aux valeurs 1, 2 et 4. Ils indiquent l'état des boutons de la
souris. Chaque bit défini signale que le bouton correspondant est enfoncé.
shift Entier qui correspond à l'état des touches MAJ, CTRL et ALT. Un
bit est défini si la touche est enfoncée. Cet argument est un champ binaire
dont les bits de poids faible correspondent aux touches MAJ (bit 0), CTRL
(bit 1) et ALT (bit 2). À ces bits sont associées respectivement les valeurs
1, 2 et 4. L'argument shift indique l'état de ces touches, un bit défini
signalant que la touche correspondante est enfoncée. Par exemple, si les
touches CTRL et ALT sont toutes deux enfoncées, la valeur de l'argument
shift sera égale à 6.
x, y Nombre qui spécifie la position en cours du pointeur de la
souris. Les valeurs x et y sont toujours exprimées en fonction du système de
coordonnées défini par les propriétés ScaleHeight, ScaleWidth, ScaleLeft et
ScaleTop de l'objet.


"Michel69" a écrit dans le message de news:

Bonjour à tous !!

Je n'arrive pas à trouver les coordonnées les variables qui contiennent
les coord. X et Y de la souris, suite à un événement donné.
Je voudrais par exemple afficher une petite fenêtre juste en dessous du
pointer de la souris quand je clique sur un objet lambda !!

Merci de l'info si vous savez !!

Michel



Avatar
Michel
Merci mais les fonctions que tu indiques sont à utiliser lorsque le bout de
code doit être mis dans les événements souris...
là, dans mon problème c'est l'inverse... j'ai cliqué dans un Grid, et je
veux afficher un nouvel écran fonction de la position X et Y de la souris
!!!


"Patrice Henrio" a écrit dans le message de
news:
Les évènements MouseMove, MouseDown ou MouseUp permettent de récupérer les
coordonnées du pointeur
Private Sub object_MouseMove([index As Integer,] button As Integer, shift


As
Integer, x As Single, y As Single)

La syntaxe de l'événement MouseMove comprend les éléments suivants :

Élément Description
object Expression d'objet qui correspond à un objet figurant dans la
rubrique "Application".
index Entier qui désigne le contrôle si celui-ci appartient à


ungroupe
de contrôles.
button Entier qui correspond à l'état des boutons de la souris
représenté par un bit si le bouton est enfoncé. Cet argument est un champ
binaire dont le bit 0 correspond au bouton gauche de la souris, le bit 1


au
bouton droit et le bit 2 au bouton du milieu. Ces bits sont associés
respectivement aux valeurs 1, 2 et 4. Ils indiquent l'état des boutons de


la
souris. Chaque bit défini signale que le bouton correspondant est enfoncé.
shift Entier qui correspond à l'état des touches MAJ, CTRL et ALT.


Un
bit est défini si la touche est enfoncée. Cet argument est un champ


binaire
dont les bits de poids faible correspondent aux touches MAJ (bit 0), CTRL
(bit 1) et ALT (bit 2). À ces bits sont associées respectivement les


valeurs
1, 2 et 4. L'argument shift indique l'état de ces touches, un bit défini
signalant que la touche correspondante est enfoncée. Par exemple, si les
touches CTRL et ALT sont toutes deux enfoncées, la valeur de l'argument
shift sera égale à 6.
x, y Nombre qui spécifie la position en cours du pointeur de la
souris. Les valeurs x et y sont toujours exprimées en fonction du système


de
coordonnées défini par les propriétés ScaleHeight, ScaleWidth, ScaleLeft


et
ScaleTop de l'objet.


"Michel69" a écrit dans le message de news:

> Bonjour à tous !!
>
> Je n'arrive pas à trouver les coordonnées les variables qui contiennent
> les coord. X et Y de la souris, suite à un événement donné.
> Je voudrais par exemple afficher une petite fenêtre juste en dessous du
> pointer de la souris quand je clique sur un objet lambda !!
>
> Merci de l'info si vous savez !!
>
> Michel
>




Avatar
ng
Salut,

Pour les coordonnées absolues :

Public Type POINTAPI
X As Long
Y As Long
End Type

Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos"
(lpPoint As POINTAPI) As Long

Qui s'utilise comme ca :

Dim ptCoord As POINTAPI
Call GetCursorPos(ptCoord)
Debug.Print "Coordonnées souris : " & ptCoord.X & ", " & ptCoord.Y


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Michel69 wrote:
Bonjour à tous !!

Je n'arrive pas à trouver les coordonnées les variables qui
contiennent les coord. X et Y de la souris, suite à un événement
donné. Je voudrais par exemple afficher une petite fenêtre juste en
dessous
du pointer de la souris quand je clique sur un objet lambda !!

Merci de l'info si vous savez !!

Michel


Avatar
Patrice Henrio
Je ne comprends pas.
Si tu as cliqué dans un grid, tu as utilisé la souris et l'évènement Click.
Pourquoi ne pas utiliser l'évènement mousedown qui pourra te donner en plus
quel bouton est cliqué et quelles coordonnées du pointeur ?

"Michel" a écrit dans le message de news:

Merci mais les fonctions que tu indiques sont à utiliser lorsque le bout
de
code doit être mis dans les événements souris...
là, dans mon problème c'est l'inverse... j'ai cliqué dans un Grid, et je
veux afficher un nouvel écran fonction de la position X et Y de la souris
!!!


"Patrice Henrio" a écrit dans le message de
news:
Les évènements MouseMove, MouseDown ou MouseUp permettent de récupérer
les
coordonnées du pointeur
Private Sub object_MouseMove([index As Integer,] button As Integer, shift


As
Integer, x As Single, y As Single)

La syntaxe de l'événement MouseMove comprend les éléments suivants :

Élément Description
object Expression d'objet qui correspond à un objet figurant dans
la
rubrique "Application".
index Entier qui désigne le contrôle si celui-ci appartient à


ungroupe
de contrôles.
button Entier qui correspond à l'état des boutons de la souris
représenté par un bit si le bouton est enfoncé. Cet argument est un champ
binaire dont le bit 0 correspond au bouton gauche de la souris, le bit 1


au
bouton droit et le bit 2 au bouton du milieu. Ces bits sont associés
respectivement aux valeurs 1, 2 et 4. Ils indiquent l'état des boutons de


la
souris. Chaque bit défini signale que le bouton correspondant est
enfoncé.
shift Entier qui correspond à l'état des touches MAJ, CTRL et ALT.


Un
bit est défini si la touche est enfoncée. Cet argument est un champ


binaire
dont les bits de poids faible correspondent aux touches MAJ (bit 0), CTRL
(bit 1) et ALT (bit 2). À ces bits sont associées respectivement les


valeurs
1, 2 et 4. L'argument shift indique l'état de ces touches, un bit défini
signalant que la touche correspondante est enfoncée. Par exemple, si les
touches CTRL et ALT sont toutes deux enfoncées, la valeur de l'argument
shift sera égale à 6.
x, y Nombre qui spécifie la position en cours du pointeur de la
souris. Les valeurs x et y sont toujours exprimées en fonction du système


de
coordonnées défini par les propriétés ScaleHeight, ScaleWidth, ScaleLeft


et
ScaleTop de l'objet.


"Michel69" a écrit dans le message de news:

> Bonjour à tous !!
>
> Je n'arrive pas à trouver les coordonnées les variables qui contiennent
> les coord. X et Y de la souris, suite à un événement donné.
> Je voudrais par exemple afficher une petite fenêtre juste en dessous du
> pointer de la souris quand je clique sur un objet lambda !!
>
> Merci de l'info si vous savez !!
>
> Michel
>








Avatar
Michel69
oui Patrice, excuse moi....

tout marche bien et merci pour ton aide !!

Michel


"Patrice Henrio" a écrit dans le message de
news:
Je ne comprends pas.
Si tu as cliqué dans un grid, tu as utilisé la souris et l'évènement
Click.
Pourquoi ne pas utiliser l'évènement mousedown qui pourra te donner en
plus quel bouton est cliqué et quelles coordonnées du pointeur ?

"Michel" a écrit dans le message de news:

Merci mais les fonctions que tu indiques sont à utiliser lorsque le bout
de
code doit être mis dans les événements souris...
là, dans mon problème c'est l'inverse... j'ai cliqué dans un Grid, et je
veux afficher un nouvel écran fonction de la position X et Y de la souris
!!!


"Patrice Henrio" a écrit dans le message de
news:
Les évènements MouseMove, MouseDown ou MouseUp permettent de récupérer
les
coordonnées du pointeur
Private Sub object_MouseMove([index As Integer,] button As Integer,
shift


As
Integer, x As Single, y As Single)

La syntaxe de l'événement MouseMove comprend les éléments suivants :

Élément Description
object Expression d'objet qui correspond à un objet figurant dans
la
rubrique "Application".
index Entier qui désigne le contrôle si celui-ci appartient à


ungroupe
de contrôles.
button Entier qui correspond à l'état des boutons de la souris
représenté par un bit si le bouton est enfoncé. Cet argument est un
champ
binaire dont le bit 0 correspond au bouton gauche de la souris, le bit 1


au
bouton droit et le bit 2 au bouton du milieu. Ces bits sont associés
respectivement aux valeurs 1, 2 et 4. Ils indiquent l'état des boutons
de


la
souris. Chaque bit défini signale que le bouton correspondant est
enfoncé.
shift Entier qui correspond à l'état des touches MAJ, CTRL et ALT.


Un
bit est défini si la touche est enfoncée. Cet argument est un champ


binaire
dont les bits de poids faible correspondent aux touches MAJ (bit 0),
CTRL
(bit 1) et ALT (bit 2). À ces bits sont associées respectivement les


valeurs
1, 2 et 4. L'argument shift indique l'état de ces touches, un bit défini
signalant que la touche correspondante est enfoncée. Par exemple, si les
touches CTRL et ALT sont toutes deux enfoncées, la valeur de l'argument
shift sera égale à 6.
x, y Nombre qui spécifie la position en cours du pointeur de la
souris. Les valeurs x et y sont toujours exprimées en fonction du
système


de
coordonnées défini par les propriétés ScaleHeight, ScaleWidth, ScaleLeft


et
ScaleTop de l'objet.


"Michel69" a écrit dans le message de news:

> Bonjour à tous !!
>
> Je n'arrive pas à trouver les coordonnées les variables qui
> contiennent
> les coord. X et Y de la souris, suite à un événement donné.
> Je voudrais par exemple afficher une petite fenêtre juste en dessous
> du
> pointer de la souris quand je clique sur un objet lambda !!
>
> Merci de l'info si vous savez !!
>
> Michel
>












Avatar
Michel69
Merci ng; ça marche...

cordialement...

Michel


"ng" a écrit dans le message de news:

Salut,

Pour les coordonnées absolues :

Public Type POINTAPI
X As Long
Y As Long
End Type

Public Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos"
(lpPoint As POINTAPI) As Long

Qui s'utilise comme ca :

Dim ptCoord As POINTAPI
Call GetCursorPos(ptCoord)
Debug.Print "Coordonnées souris : " & ptCoord.X & ", " & ptCoord.Y


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

Michel69 wrote:
Bonjour à tous !!

Je n'arrive pas à trouver les coordonnées les variables qui
contiennent les coord. X et Y de la souris, suite à un événement
donné. Je voudrais par exemple afficher une petite fenêtre juste en
dessous
du pointer de la souris quand je clique sur un objet lambda !!

Merci de l'info si vous savez !!

Michel