Recupere code touche en ascii en vc++

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 843 fois - Téléchargée 33 fois

Contenu du snippet

Recupere le code de la touche pressée. affiche le caractere ou le code ascii

cependant des question restent sans reponse, comment agir quand ce qui est renvoyé est a 2 entrées (ex: touche fleche haut). Oui le but est d'arriver a la creation d'un menu qui change la couleur du texte quand je le selectionne que cette couleur descende quand je presse les touches haut et bas et que finalement en appuyant sur entrée le menu correspondant se lance.

il me manque :
- agir en fonction des fleches
- les couleurs

Source / Exemple :


#include <iostream.h>
#include <conio.h>

// Fait par Ranouf
/* mon but recuperer faire un menu en c++ pour cela 
 je recupere le code des fleches haut et bas
probleme renvoie un int a 2 nivo (voyez vous meme)*/

void main()
{
	int ch;
	do
	{
		int x= 0; // int renverra le code Ascii 'entrer=13', char renverra la lettre 'a=a'
		ch = getch(); //recupere la touche appuyée et la stock dans ch
		cout<<"Le code ascii de la touche est : "<<ch<<endl;// sans le endl le code est renvoyé d'un bloc apres avoir appuyé sur entrée faites le test vous comprendrez
	}while (ch!=13);
}

//fin

Conclusion :


Tous les commentaires sont ecris, le prog evoluera je vous tiens au courant

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
7 octobre 2005

code très utile, j'ai programmé un petit labyrinthe en C++ et ce code m'a permis de ne pas demander la direction a prendre a chaque déplacement.

dir = getch(); //mise en mémoire de la touche appuyée (grace à conio.h )
Tabmaze[a][b]=' '; //effacement de la position du joueur
if(dir==72) a--; //déplacement de la position visée vers le haut
if(dir==75) b--; //déplacement de la position visée vers la gauche
if(dir==77) b++; //déplacement de la position visée vers la droite
if(dir==80) a++; //déplacement de la position visée vers le bas

a++ ^^
Messages postés
12
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
15 octobre 2003

pour récuperer les codes des touches spéciales, regarde mon code qui se nomme afficheur de code ascii, ça m'a l'air plus simple si tu es sous dos.
Messages postés
402
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2005
1
je croi tu doi inclure windows.h
Mais je ne suis pas sur
Messages postés
237
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
31 août 2009

azar> je dois inclure koi pour utiliser tout ça ? d'apres ce que tu dis du code c ce que je cherche :) merci pour c petites infos
Messages postés
9
Date d'inscription
lundi 20 mai 2002
Statut
Membre
Dernière intervention
27 septembre 2003

En API Win32 tu as la procédure :
VOID keybd_event(
BYTE bVk, // virtual-key code
BYTE bScan, // hardware scan code
DWORD dwFlags, // flags specifying various function options
DWORD dwExtraInfo // additional data associated with keystroke
);

Le mieux est encore d'agir au niveau du callback de ton composant.
Voila à quoi devrait ressembler ton bout de code :
case WM_KEYDOWN:
switch (wParam) {
case VK_LEFT: break;
case VK_RIGHT: break;
case VK_UP: break;
case VK_DOWN: break;
default: break;
}

Ca c'est une solution pour windows. Je ne connais pas d'équivalent C++ pur jus.
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.