Detection touches de clavier [Résolu]

Signaler
Messages postés
41
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
3 mars 2006
-
Messages postés
41
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
3 mars 2006
-
Hello,
j'ai un soucis pour capter l'appui d'un touche dans une classe CDialog.
je crée une boite de dialogue dial.DoModal();

et j'ai beau ajouter les message ON_WM_KEYDOWN, ON_WM_KEYUP j'ai meme essayer dans un timer de faire _kbhit() et _getch(), mais y'a pas moyen de savoir si une touche a été enfoncé ou pas (_kbhit() retourne tjrs 0 et _getch() tjrs -1).
quelqu'un connais une astuce ou une solution.
au pire, j'aimerais quand meme savoir pourquoi c'est pas possible, parce que quand je fais une application qui n'est pas CDialog, ca marche. ON_WM_KEYDOWN réagit comme je l'attends et on rentre bien dans la fonction OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags).

merci, A+

2 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
20
Une dialog a une logique 'par defaut' des traitements qui transfére les touches sur les controles.
Mets un hook sur ta dialog.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
41
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
3 mars 2006

ok, je vais creuser un peu plus la question, car ca n'a pas l'air si simple, mais ca réponds a ma question.

merci, A+