Tester une touche

Signaler
Messages postés
16
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2004
-
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
-
bonjour,

J'aimerai reussir a valider les données saisies dans une editBox par le bouton enter. J'ai utilisé la fonction GetKeyState() mais ca marche dans le cas de mon edit, par contre ca marche si enter est pressé dans la fenetre principale qui contient le edit.

voila une idée de mon code

case WM_COMMAND:
if((HWND)lParam==edit1){
if(HIWORD(wParam)==WM_KEYDOWN){ if(GetKeyState(VK_RETURN) & 0x8000){ MessageBox(hwnd,"entrée","",MB_OK);
}
}
}
break;
case WM_KEYDOWN:
if(GetKeyState(VK_RETURN) & 0x8000){ MessageBox(hwnd,"entrée","",MB_OK);
break;

je vois vraiment pas ce qu'il manque ni pkoi ca marche pas.

Merci bcp de m'aider

Paul.

5 réponses

Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut

tu peux utiliser GetFocus pour déterminer après GetKeyState si c ton edit qui a le focus :

if ((GetKeyState(VK_RETURN) & 0x8000) && (GetFocus()==hwndEdit))

ShareVB
Messages postés
16
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2004

merci beaucoup ca marche!!
j ai cherché hier pdt une heure sans trouver.

Neanmoins je me demande qd même pkoi ca marchait pas avec la methode que j employais ???
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut

c normal GetKeyState teste si la touche a été pressée dans le thread de l'appel cad dans la fenetre entiere...

voilà

ShareVB
Messages postés
16
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
22 juillet 2004

je me pose encore une question sur le sujet.

Je suis dans l'obligation de definir mon editBox avec l'option DS_3DLOOK pour que cela fonctionne. Ca me semble étrange surtout que l'ajout de cette option ne met meme pas un effet 3d a ma edit box ..... :(
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
16
salut

c surprenant car DS_3DLOOK ne fait pas vraiment partie des styles d'un edit box... et je ne sais pas pourquoi c necessaire...

ShareVB