Tester une touche

pmolina Messages postés 16 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 22 juillet 2004 - 24 juin 2004 à 16:26
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 25 juin 2004 à 16:08
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

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 25
24 juin 2004 à 21:41
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
0
pmolina Messages postés 16 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 22 juillet 2004
25 juin 2004 à 09:20
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 ???
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 25
25 juin 2004 à 10:35
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
0
pmolina Messages postés 16 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 22 juillet 2004
25 juin 2004 à 14:51
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 ..... :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 25
25 juin 2004 à 16:08
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
0
Rejoignez-nous