Coordonnées clic souris [Résolu]

Signaler
Messages postés
17
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
14 mai 2007
-
Messages postés
17
Date d'inscription
dimanche 19 avril 2009
Statut
Membre
Dernière intervention
4 juillet 2012
-
Bonjour,
Je cherche à récupérer la position de mon curseur dans ma fenêtre. J'utilise un switch qui passe dans WM_MOUSEMOVE, le problème, j'y ai mis un point d'arret, ce que ca y passe tout le tps meme kan jtouche pas la souris. De ce fait j'ai essayé d'utiliser le if(LONG lParam == WM_LBUTTONDOWN), mais ca rentre pas dans le if. Donc pour résumer, jy comprends rien...
help
inflamers

5 réponses

Messages postés
571
Date d'inscription
samedi 3 avril 2004
Statut
Membre
Dernière intervention
5 décembre 2013

Ben pour recuperer la position de la souris c'est simplement

POINT pt;
GetCursorPos(&pt);

Mais apres j'ai rien compris a ce que tu veut faire, tu as besoin de faire quoi ?
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
C'est normal car WM_MOUSEMOVE est envoyé au moindre mouvement du curseur de la souris. Pour vérifier que le bouton gauche est appuyé, on utilise wParam qui contient l'état des boutons et  certaines touches du clavier:
if(wParam==MK_LBUTTON)  ...
Ensuite pour récupérer la position dans la zone client tu fais:
int x=LOWORD(lParam);
int y=HIWORD(lParam);

<link href="../../../../../css/ie4.css" type="text/css" rel="stylesheet" /><!-- @ --><link href="../../../../../css/inetsdk.css" type="text/css" rel="stylesheet" /><!-- @ --><style type="text/css"><![CDATA[
PRE.clsCode { font-size:110%; }
PRE.clsSyntax { font-size:100%; }
TD DIV.clsBeta { display:none;}

A:link { color:#0000ff; text-decoration:underline;}
A:visited { color:#0000ff; text-decoration:underline;}
A:hover { color:#3366ff; text-decoration:underline;}
MSHelp\:link {
color:#0000ff;
text-decoration:underline;
cursor:hand;
hoverColor:#3366ff;
filterString: ;}
]]></style><link href="ms-help://Hx/HxRuntime/HxLink.css" type="text/css" rel="stylesheet" />

<xml id="_topicdata" pagetype="winnotify" proj="WinUIHXS" name="WM_MOUSEMOVE" pubpath="/WinUI/WindowsUserInterface/UserInput/MouseInput/MouseInputReference/MouseInputMessages/WM_MOUSEMOVE.htm"><!-- topic data --><root></root></xml>

<xml xmlns=""><mshelp:keyword index="A" term="_win32_WM_MOUSEMOVE"></mshelp:keyword><mshelp:keyword index="A" term="_win32_WM_MOUSEMOVE_cpp"></mshelp:keyword><mshelp:toctitle title="WM_MOUSEMOVE Notification"></mshelp:toctitle><mshelp:rltitle title="WM_MOUSEMOVE Notification ()"></mshelp:rltitle><mshelp:keyword index="F" term="WM_MOUSEMOVE"></mshelp:keyword><mshelp:keyword index="K" term="WM_MOUSEMOVE"></mshelp:keyword><mshelp:attr name="TopicType" value="kbRef"></mshelp:attr><mshelp:attr name="Locale" value="kbEnglish"></mshelp:attr><mshelp:attr name="DevLang" value="C++"></mshelp:attr><mshelp:attr name="Technology" value="WinUI"></mshelp:attr><mshelp:attr name="TechnologyVers" value="kbWinUI"></mshelp:attr><mshelp:attr name="DocSet" value="WCSDK"></mshelp:attr><mshelp:attr name="DocSet" value="LHSDK"></mshelp:attr><mshelp:attr name="DocSet" value="PSDK"></mshelp:attr><mshelp:attr name="TargetOS" value="Windows"></mshelp:attr><mshelp:attr name="TopicType" value="apiref"></mshelp:attr><mshelp:attr name="APIName" value="WM_MOUSEMOVE"></mshelp:attr><mshelp:attr name="APIType" value="NA"></mshelp:attr><mshelp:attr name="TopicType" value="winnotify"></mshelp:attr></xml>
<dl><dt>
</dd><dd>
</dd></dl>
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Pour  récupérer la position de la souris suite à un clic gauche on intercepte le message WM_LBUTTONDOWN (ou WM_LBUTTONUP). lParam contient les coordonnées de la position:
int x=LOWORD(lParam);
int y=HIWORD(lParam);
Messages postés
17
Date d'inscription
lundi 20 mars 2006
Statut
Membre
Dernière intervention
14 mai 2007

Ben j'avais juste besoin de récupérer la position du curseur au moment du clic, mais jsuis en c, et là jsavais pas trop, et msdn est pas super clair... De plus le OnMOUSEMOVE, ca marchait pas top, mais Button down c plus cool, ca marche bien... voilà, merci en tout cas!
Messages postés
17
Date d'inscription
dimanche 19 avril 2009
Statut
Membre
Dernière intervention
4 juillet 2012

Salut,

Sous opengl, je veux recuperer les coordonées d'un point où je clique avec la souris mais le problème c'est que j'ai besoin des trois cordonnées du point pas seulement X et Y . pour cela j'utilise la fonction processMouseActiveMotion(int x, int y) alors comment je pourai faire ça pour recuperer la troisieme coordonée.

Merci d'avance.