Placer la souris [Résolu]

Signaler
Messages postés
125
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
14 juillet 2008
-
Messages postés
125
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
14 juillet 2008
-
bonjour a tous les membres VBFRANCE  

Svp je veux savoir comment placer le curseur a une position (de la souris ) en connaissant les coordonnes de cette position

par exemle dans un (2) textbox j 'introduis le x et y et le curseur se deplace a cette position

et merci beaucoup

11 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Tu n'as toujours pas répondu !
l'origine, c'est bien, mais l'origine de quoi ?

De toutes manières :

tu as la fonction SetCursorPos de la librairie User32 de l'Api de Windows
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Bonjour,

Position par rapport à quoi très exactement ?
Messages postés
125
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
14 juillet 2008

re bonjour jmfmarques (new look)

la position par rapport a l'origine
donc je parle effectivement de x et y
Messages postés
125
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
14 juillet 2008

oui

l'origine du form
svp peux tu detailler plus car je n'ai pas eu l'occasion d'utiliser les API
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
salut à tous,

voir ce tuto pour (entre autres) déplacer le curseur par l'API que jmfmarques t'a indiqué
http://www.vbfrance.com/codes/VACANCES-MR-MULOT-TUTORIAL_34236.aspx
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
125
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
14 juillet 2008

merci PCPT

j'ai vu ton tuto (tres interessant)

j'ai fait la meme chose mais ca ne donne pas de bonne resultat

on fait moi je recupere mon x et y sont des single
et j'ai remarqué que ceux de setcursorpos sont des long

est ce que cela va poser un probleme
si oui  y a t il un moyen de rendre un single un long

merci a vous tous
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
tu as tous les exemples dans le tuto, je ne vois vraiment pas où est le problème, c'est presque juste du copier/coller

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
125
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
14 juillet 2008

je vais t'expliquer exactement mon code

dans form_mousemove (x as single,y as single)
je dis lorsque x et y sont compris dans un certains intervalle

then
le curseur dois etre placer au centre (du rectangle)
sois
setcursorpos Xmoitie,Ymoitie

Xmoitie et Ymoitie coordonnees du centre

le probleme que je rencontre est c est que le curseur ne se place pas a cette position (Xmoitie,Ymoitie)

merci
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
regarde la partie concernant clienttoscreen

on ne déplace pas la souris sur le x y de ton rectangle (contrôle) mais dans un x y de l'écran, étant une position qui survole ton x y voulu

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Messages postés
125
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
14 juillet 2008

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)'If etataccrochage True Then    
accrochage x, y, UBound(tabnoeud) 
End If

Private Function accrochage(x As Single, y As Single, nombre_denoeud As Integer)
For t = 0 To nombre_denoeud

If ((tabnoeud(t).x - x) ^ 2 + (tabnoeud(t).y - y) ^ 2) ^ (0.5) < 4 Then
x = tabnoeud(t).x
y = tabnoeud(t).y
Shpcircle.Top = y - Shpcircle.Height / 2
Shpcircle.Left = x - Shpcircle.Width / 2
Call SetCursorPos(x, y)
End If
Next
End Function
Messages postés
125
Date d'inscription
vendredi 10 août 2007
Statut
Membre
Dernière intervention
14 juillet 2008

pardon je n'ai pas vu ta reponse