Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Aide sur code en C [ Divers / Général ] (bvdecky)

mercredi 21 mai 2008 à 16:32:45 | Aide sur code en C

bvdecky

salut à tous
je recherche un exemple de code source en C qui consiste à récupérer les deux informations XY (déplacement) ainsi que les 2 boutons  (gauche et droite) d'une souris 
merci d'avance et bonne journée à tous


mercredi 21 mai 2008 à 23:48:19 | Re : Aide sur code en C

glipper

Membre Club
Bonsoir,
Je pense qu'il faut programmer en mode graphique pour ça (et pas en mode console). je n'ai pas de code sous la main, mais windows renvoi des événements lorsque l'utilisateur clique avec la souris, ou bouge la souris. Tu peux regarder peut etre les evenements :
WM_MOUSEMOVE
WM_KEYDOWN

-------------------------------------
case WM_MOUSEMOVE:
{
            xPos = LOWORD(lParam);
            yPos = HIWORD(lParam);
}
-------------------------------------

Sinon, il y a la fonction GetCursorPos() je crois qui doit donner les coordonnées de la souris dans l'ecran.

Voila, je ne sais pas si ça t'aide beaucoup mais peut-être un peu.




mercredi 21 mai 2008 à 23:57:00 | Re : Aide sur code en C

glipper

Membre Club
Peut être que ça peut t'aider :

Bonjour à tous le forum,

Je suis toujours un débutant en C++. Je pose mon code ci-dessous, si cela peut aider quelqu'un. En gros, le code permet de faire une mesure de distance entre deux cliques droit de souris. Cette application permet au gens de mon labo de faire des mesures sur une image acquise en continue (elle n'est pas figée). Les deux premiers clique droit sont pour l'étalonnage, on entre ensuite la taille de l'échelle et on peut ensuite faire les mesures.

code:


#include <iostream>
#include <cmath>
#include <windows.h>

///////////////////////////////////////////////////////////////////////////////
//*****auteur: Laurent **********************************************//
//**** Projet: Mesures ************************************//
//*****date: Decembre 2006***************************************************//
///////////////////////////////////////////////////////////////////////////////

int main()
{//1
BOOL Continue = TRUE; //Controle pour la boucle
POINT pos; //loge les coordonnées X et Y dans Pos
const SHORT Mask = 32768;
int a;
int x1;
int y1;
int x2;
int y2;// coordonnées pour calcul de l'échelle
int x3;
int y3;
int x4;
int y4;
int entier; //si chiffre pair "entier = 0" si entier est impair = 1
int X; //pour le calcul de la distance
int Y;//pour le calcul de la distance
double dist;
int n1;
int n2;
int echelle;
double dist1;
double distance; //distance réelle en µm
a=0;//initialisation du compteur
while (Continue)
{//2
if (GetKeyState(VK_ESCAPE)& Mask)
{
Continue = FALSE;
}

if (GetKeyState(VK_LBUTTON)& Mask)
{//3
a++;
entier=a%2;//verif si chiffre pair ou impair
Sleep(200);


if (a==1){ //premier clique
GetCursorPos(&pos);
x1=pos.x;
y1=pos.y;
std::cout << "X = " << x1 << " et Y = " << y1 <<"\n";
Sleep(200);
}

if (a==2){ //deuxième clique

GetCursorPos(&pos);
x2=pos.x;
y2=pos.y;
std::cout << "X = " << x2 << " et Y = " << y2 <<"\n";
Sleep(200);
n1=((x2-x1)*(x2-x1));
n2=((y2-y1)*(y2-y1));
dist=sqrt(n1+n2);//distance de l'échelle
// Dans la variable echelle, on récupère sa taille
std::cout << "Veuillez entrer la taille de l'echelle:"<<"\n";
std::cin>>echelle;
}

if (a>2)
{
//clique paire
if (entier==0)
{
GetCursorPos(&pos);
x4=pos.x;
y4=pos.y;
std::cout << "X = " << x4 << " et Y = " << y4 <<"\n";
Sleep(200);
X=((x4-x3)*(x4-x3));
Y=((y4-y3)*(y4-y3));
dist1=sqrt(X+Y);// racine carrée"sqrt"
//La distance en µm est de:
distance = ((dist1*echelle)/dist);
std::cout <<"\n"<<"La mesure est de = " << distance <<"\t"<<"micrometres"<< "\n";
}
}

if (a>2)
{ //clique impaire
if (entier==1)
{
GetCursorPos(&pos);
x3=pos.x;
y3=pos.y;
std::cout <<"\n" <<"X = " << x3 << " et Y = " << y3 <<"\n";
Sleep(200);

}
}





} //3
}//2
return 0;
}//1


-J'aimerai lors du deuxième clique, tracer une ligne de couleur verte à l'écran qui correspond à la distance mesurée. Si vous avez des idées, pour me mettre sur une piste je suis preneur.

Je reprécise que je suis débutant en C++.


Bonne journée,

Antik

vendredi 23 mai 2008 à 13:37:00 | Re : Aide sur code en C

saifer

Membre Club
Salut, Si ce que tu veux c'est récupérer les mouvements et les clics de souris, mais pas pour ton programme, donc globalement pour le système, tu dois utiliser les hooks. Beaucoup d'exemples sur le site en tapant simplement "hook windows". Si tu ne veux récupérer les infos de la souris que pour ton programme, tu dois traiter les messages WM_MOUSEMOVE, WM_LBUTTONDOWN(/UP), WM_RBUTTONDOWN(/UP), si mes souvenirs sont bons. Cette dernière possibilité n'est utilisable que si tu programme en mode graphique (si tu as une fenêtre à laquelle les évènements windows sont envoyés) et pas console. Mais à mon avis ce que tu cherches à faire d'après ta (trop) courte description, c'est un hook sur la souris. Donc 1ère solution. J'éspère que j'aurais pu t'éclairer un peu.



Cette discussion est classé dans : aide, code


Répondre à ce message

Sujets en rapport avec ce message

Aide pour mega debutant [ par C++ ] Salut, bon alors je vien d ouvrir c++ mais comment mettre un code sur un boutton ???par exemple ce code comment je doits le mettre sur un bouton :int Aide sur fopen [ par rayy ] Je cherche le code en c de fopen afin de mieux la comprendre, et si possible le code de fread, fwrite, fflush, pourriez vous me les donner ou m'indiqu Aide algorithmique TESTAGE !! [ par ZogStriP ] Bonjour tout le monde !!Je suis en train de faire le concours de PROLOGIN (www.prologin.org) et j'en suis au QCM 2004 n°4, mais là je bloque un peu!Je Besoin d'aide pour Directx 8/9 [ par TheBestofComputer ] Je voudrais savoir quelle est le code pour crée un texte en 3D(le plus simple possible) et le code pour ajouter une texture a une vertrice ainsi qu'au Besoin d'aide sur une source [ par lepins ] Bonjour tout le monde,je suis etudiant et j'aimerai travailler sur le code:"LES SOCKETS C++ COMME DS MIRC : TOUT EST SIMPLE AVEC LA CLASSE PROSOCK"qui Besoin d aide pour commencer le C [ par adess00 ] Bonjour a tousJe code en VB6 avec visual basic et je voudrai me mettre au CPour sa j ai visual C++  et j ai plusieus questions a propos de celui ci1)Q besoin d'aide [ par ekinoks ] voila g trouver un code c++ pour decrypté un fichier mais je m'y conné pas dutout en c++ kunkun pouré m'aidéle code est :void p(FILE* fp, int seed) { Besoin d'aide pour Dev c++ v 4.9.9.1 [ par DeViL_StRiKeR ] Salut a tous voila j'ai un legerprobleme avec Dev c++ v 4.9.9.1 :Lorsque j'essaie de compiler un projet(comme nimporte quel code que vous voulez compi Pb avec cgi(urgent)!!! [ par JR07 ] Je souhaiterais avoir de l'aide concernant les cgi.J'ai fait du code en html et je dois récupérer les information remplis par l'utilisateur, et ceci d Aide [ par rubaruba ] Bonjour les amisJe ne suis qu'un poussin dans le langage C, et vous soumets ce petit code que je na sais ni compiler ni exécuter: /* Affiche un messag


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.