Recupere code touche en ascii en vc++

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 163 fois - Téléchargée 35 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
DCManu
Messages postés
1
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
7 octobre 2005

7 oct. 2005 à 16:56
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++ ^^
ornelewis
Messages postés
12
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
15 octobre 2003

14 oct. 2003 à 17:53
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.
D1m3x
Messages postés
402
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
21 juillet 2005
1
4 mars 2003 à 22:51
je croi tu doi inclure windows.h
Mais je ne suis pas sur
ranouf
Messages postés
237
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
31 août 2009

1 mars 2003 à 11:25
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
cs_Azar
Messages postés
9
Date d'inscription
lundi 20 mai 2002
Statut
Membre
Dernière intervention
27 septembre 2003

27 févr. 2003 à 21:42
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.