Accueil > Forum > > > > Aide sur code en C
Aide sur code en C
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
|
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
|
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
|
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ée 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
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|