OVH Cloud OVH Cloud

Position de la souris

3 réponses
Avatar
Mathieu Chavoutier
Bonjour.

Je voudrais faire une application genre paint.
Donc, je dois pouvoir dessiner avec la souris.
J'ai donc trouvé :
Cursor.Position.X, qui me donne la position absolue de la souris (par
rapport au bord de l'écran).

Donc, après, pour afficher l'image à l'endroit voulu, j'utilise ça :

e.Graphics.DrawImage(newImage, new Rectangle(x, y, 32, 32));

Le problème, c'est que DrawImage compte à partir du bord de e, et non par
rapport au bord de l'écran.

Donc, je fais comment pour savoir la position de e (qui n'est pas une form)
par rapport au bord de l'écran ?



D'avance, je vous remercie pour toute aide.

3 réponses

Avatar
Mathieu Chavoutier
"Mathieu Chavoutier" a écrit dans le message de
news:
Bonjour.

Je voudrais faire une application genre paint.
Donc, je dois pouvoir dessiner avec la souris.
J'ai donc trouvé :
Cursor.Position.X, qui me donne la position absolue de la souris (par
rapport au bord de l'écran).

Donc, après, pour afficher l'image à l'endroit voulu, j'utilise ça :

e.Graphics.DrawImage(newImage, new Rectangle(x, y, 32, 32));

Le problème, c'est que DrawImage compte à partir du bord de e, et non par
rapport au bord de l'écran.

Donc, je fais comment pour savoir la position de e (qui n'est pas une


form)
par rapport au bord de l'écran ?



Il faut utiliser pointToClient.

Merci a tous.
Avatar
VANNESTE Xavier
tu peux realiser un offset par rapport a la position de la fenetre.
tu connais la position de la fenetre les coordonne a partir du point
superieur gauche un peu de calcul et voila :)
"Mathieu Chavoutier" a écrit dans le message de
news:
Bonjour.

Je voudrais faire une application genre paint.
Donc, je dois pouvoir dessiner avec la souris.
J'ai donc trouvé :
Cursor.Position.X, qui me donne la position absolue de la souris (par
rapport au bord de l'écran).

Donc, après, pour afficher l'image à l'endroit voulu, j'utilise ça :

e.Graphics.DrawImage(newImage, new Rectangle(x, y, 32, 32));

Le problème, c'est que DrawImage compte à partir du bord de e, et non par
rapport au bord de l'écran.

Donc, je fais comment pour savoir la position de e (qui n'est pas une


form)
par rapport au bord de l'écran ?



D'avance, je vous remercie pour toute aide.




Avatar
Mathieu Chavoutier
"VANNESTE Xavier" a écrit dans le message de
news:OwS$
tu peux realiser un offset par rapport a la position de la fenetre.
tu connais la position de la fenetre les coordonne a partir du point
superieur gauche un peu de calcul et voila :)



C'est marrant, je pensais pareil avant de poster. J'ai testé, et ... j'ai
posté.
Pour faire propre, il faut utiliser PointToClient, l'autre méthode ne marche
pas.