API Win32 : problème avec le message WM_KEYDOWN

API Win32 : problème avec le message WM_KEYDOWN - C - Programmation

Marsh Posté le 14-11-2004 à 14:49:27    

salut à tous
 
Dans ma WndProc, dans le switch(message), je traite le message WM_KEYDOWN de cette façon :
 

Code :
  1. case WM_KEYDOWN :
  2. switch(wParam)
  3. {
  4. // touche echap
  5. case VK_ESCAPE :
  6.  if (MessageBox(hwnd, "Voulez-vous vraiment fermer l'agenda ?", "Confirmation de sortie", MB_OKCANCEL | MB_ICONQUESTION) == IDOK)
  7.   PostQuitMessage(0) ;
  8.  return 0;
  9. }


 
Ca marche très bien, qd j'appuie sur échap, j'obtiens ce que je veux.
 
Je veux faire un truc similaire pour une fenêtre de mon application.
 
Toujours dans le switch(message) j'ai un truc qui ressemble à ça :
 

Code :
  1. case WM_KEYDOWN :
  2. switch(wParam)
  3. {
  4. case VK_ESCAPE :
  5.  EndDialog(hrdv, FALSE) ;
  6.  return TRUE ;
  7. default : return FALSE ;
  8. }


 
Mais qd j'appuie sur échap, je n'obtiens rien.
En débugant, j'ai remarqué que je ne rentrait pas dans le case WM_KEYDOWN, et ce en appuyant sur nimporte quelle touche.
 
Quelqu'un peu m'aider?
 
Merci


Message édité par schumacher le 14-11-2004 à 14:53:40
Reply

Marsh Posté le 14-11-2004 à 14:49:27   

Reply

Marsh Posté le 14-11-2004 à 17:06:21    

C'est parce que ce boulot est déjà fait par ta dialog qui appelle IsDialogMessage. Si elle recoit VK_ESCAPE elle t'envoie une notification WM_COMMAND(IDCANCEL).
http://msdn.microsoft.com/library/ [...] ations.asp


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 14-11-2004 à 17:24:12    

HelloWorld a écrit :

C'est parce que ce boulot est déjà fait par ta dialog qui appelle IsDialogMessage. Si elle recoit VK_ESCAPE elle t'envoie une notification WM_COMMAND(IDCANCEL).
http://msdn.microsoft.com/library/ [...] ations.asp


 
Super, merci bcp :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed