Coordonnées clic souris

Résolu
inflamers Messages postés 17 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 14 mai 2007 - 13 avril 2007 à 16:57
semaesma Messages postés 17 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 4 juillet 2012 - 2 mai 2009 à 22:40
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

SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
13 avril 2007 à 18:21
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 ?
3
racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
13 avril 2007 à 22:58
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>
0
racpp Messages postés 1910 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 15
15 avril 2007 à 11:01
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);
0
inflamers Messages postés 17 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 14 mai 2007
16 avril 2007 à 09:58
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!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
semaesma Messages postés 17 Date d'inscription dimanche 19 avril 2009 Statut Membre Dernière intervention 4 juillet 2012
2 mai 2009 à 22:40
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.
0
Rejoignez-nous