Obtenir la position du curseur à l'écran ?

Signaler
Messages postés
96
Date d'inscription
samedi 21 octobre 2006
Statut
Membre
Dernière intervention
25 avril 2009
-
Messages postés
96
Date d'inscription
samedi 21 octobre 2006
Statut
Membre
Dernière intervention
25 avril 2009
-
Bonjour,

Je travaille sur un programme en VB2005 qui possède une NotifyIcon dans la barre des tâches.
Lorsque je clique sur l'icône, je fais apparaître une Form de petite dimension. Il faut qu'elle apparaisse juste au dessus de l'icône.

Le problème est que je n'arrive pas à connaître la position de l'icône..
Comment récupérer la position de la souris sur l'écran ?
Tous les exemples que j'ai trouvé concernent la position de la souris à l'intérieur d'une Form, mais je n'ai pas de Form, seulement une icone dans la zone de notification...

Ou alors comment obtenir la position de l'icône ? L'icone des de petite dimension, donc récupérer la position du pointeur quand je clique dessus ou de l'icone elle même revient au même...

Merci pour votre aide..

4 réponses

Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
Sous VB2005 je connais pas la syntaxe, mais sous VB6 c'est:

Private Sube Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) ' MouseMove: le fait que tu bouges ta souris fait déclencher le sub
Xecran=Me.left+X  'Le "Me." représente ta form principale
Yecran=Me.left+Y
End Sub

Si ça se trouve la syntaxe est exactement la même, sinon adapte le à VB2005
Messages postés
527
Date d'inscription
lundi 15 octobre 2007
Statut
Membre
Dernière intervention
10 octobre 2013
1
*oups* vient de relire, tu n'as pas de form, dsl, marche pas...  *se tape la tête contre un mur*
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut

En .Net il existe peut-être une technique gérée par le langage (MouseCaptureChanged ?).
Si tu ne trouves pas, tu peux toujours faire appel aux APIs Windows, notamment "mouse_event" qui te renverra les infos liées à la souris.
Les positions sont données en pixels. Il faudra penser à les recalculer dans le mode graphique de ton application.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
96
Date d'inscription
samedi 21 octobre 2006
Statut
Membre
Dernière intervention
25 avril 2009

Ok, merci..

J'ai continué à chercher et il semble qu'il n'y a pas de fonction en .NET
Je vais m'orienter vers une API Windows..

Mais si jamais qqn connait la fonction en .NET, qu'il n'hésite pas à le dire !