Coordonées d'un click de souris - API Windows

Résolu
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006 - 17 juin 2005 à 18:24
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006 - 18 juin 2005 à 21:37
j'arrive pas à les récupérer , j'ai pourtant fait point.x et point.y rien à faire j'obtient 0 ... et même avec ClientToScreen

10 réponses

Hades53 Messages postés 231 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 juillet 2009
18 juin 2005 à 02:17
Ca devrait pas être plutôt:

POINT click;
GetCursorPos(&click);
posX = click.x;

posY = click.y;



car dans "click.x = posX", c'est click.x qui prend la valeur de posX, ce qui est complétement irrégulier !
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 juin 2005 à 16:59
A savoir que tout cela est inutile, le point du clic est déja présent dans lParam
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 juin 2005 à 19:03
Je t'ai dit de regarder dans LPARAM: LOWORD(lParam) te donne x et
HIWORD(lParam) y. Ca te donne des coordonnées client (par rapport au
coin eu haut à gauche, c'est bien ce que tu veux?)
3
Hades53 Messages postés 231 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 juillet 2009
17 juin 2005 à 19:01
POINT coords;

GetCursorPos(&coords);
0

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

Posez votre question
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
17 juin 2005 à 22:09
raaah !! ça marche pas !

<hr size="2" width="100%">POINT click;

GetCursorPos(&click);

click.x=posX;

click.y=posY;



char txt[50]; //Test de vérification

itoa(posX,txt,10);

MessageBox(hWnd,txt,"Test",MB_OK); // 0 !!
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
18 juin 2005 à 11:26
Avec au début de ta procédure :

POINT Pt;

static
char *Txt;

Au Message WM_CREATE:
Txt = new char[128];

et au message WM_DESTROY:
delete[] Txt;

et pour finir au Message :

WM_LBUTTONDOWN:
WM_RBUTTONDOWN:
GetCursorPos(&Pt);
ScreenToClient(hWnd, &Pt);
wsprintf(Txt, "Coordonnées : \nx = %i - y = %i", Pt.x, Pt.y);
MessageBox(hWnd, Txt, szClassName, MB_ICONEXCLAMATION);


void Aurevoir( void ); //Bonne journée
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
18 juin 2005 à 18:42
merci je regarde ça tout de suite !
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
18 juin 2005 à 18:45
Hades53 désolé j'avais pas vu ta réponse ! oui c'est ça j'ai fait juste une étourderie !! pff vraiment parfois ...





désolé pour la topic inutile !
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
18 juin 2005 à 18:58
dites j'ai un problème là encore : j'obtien pas vraiment les bonnes
valeurs de x et y , ça me fait des valeurs élevées qui tournent autours
de 300 à 500 même quand je clique par exemple là où normalement ça
devrait fire 5,2 ... bref du n'importe quoi !

je suppose qu'il doit y avoir une valeur à soustraire pour
obtenir la vraie puisque quand je clique 2 fois de suite bah ça donne
la même chose !
0
banane_rose Messages postés 302 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 22 avril 2006
18 juin 2005 à 21:37
ah.............................





j'avais pas capté ce petit detail ... ok ok ok !

donc les valeurs "bizarres" que j'obtenais bah c'était depuis en haut à gauche de l'écran et pas de la zone client !



oki merci beaucoup ! ^^



++++
0
Rejoignez-nous