Re : WM_KEYDOWN interception touche clavier

cs_gregory6 Messages postés 22 Date d'inscription jeudi 14 octobre 2004 Statut Membre Dernière intervention 3 janvier 2005 - 3 déc. 2004 à 18:35
josmaur Messages postés 8 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 17 avril 2008 - 17 avril 2008 à 00:19
Gringo

Bonjour,

Je débute sous visual C++ et j'ai un petit problème sur les interceptions de touches au clavier. J'aimerai récupérer les touches du clavier et leur affecter une fonction. J'arrive à récupérer les touches ESCAPE, F1,.. mais pas les touches alphanumériques.
Je crée ma propre fenetre et j'utilise la fonction
LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam) pour intercepter les messages Windows notamment WM_KEYDOWN,
case WM_KEYDOWN:
{
if(wParam==VK_ESCAPE)
PostMessage(hwnd,WM_DESTROY,0,0);

else if(wParam==VK_F1)
MessageBox(hwnd,"appui sur F1",NULL,MB_OK);
}

si je mets VK_A ou VK_0, cela ne marche pas, qqn pourrait t il m'aider ou me conseiller (sources, sites , liens) ?
Je vous remercie de votre aide.

2 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 déc. 2004 à 18:53
WM_CHAR

ciao...
BruNews, MVP VC++
0
josmaur Messages postés 8 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 17 avril 2008
17 avril 2008 à 00:19
si j'ai bien compris
une petite precision qui peut etre pouura vous aider
nChar contient la valeur de  la touche  frappée un tri de cette valeur
avec switch et  case pour affecter la ou les touches à une fonction repective

void CBaseView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{

 CView::OnKeyDown(nChar, nRepCnt, nFlags);
}
0
Rejoignez-nous