OnKeyDown......

OnKeyDown...... - C++ - Programmation

Marsh Posté le 02-06-2004 à 10:01:46    

Bonjour,  
 
pour intercepter les messages WM_KEYDOWN j'ai ce bout de code :  

Code :
  1. void GEtikett::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
  2. {
  3.    // TODO : ajoutez ici le code de votre gestionnaire de messages et/ou les paramètres par défaut des appels  
  4.    char sTemp[500];
  5.    sprintf(sTemp,"on key down" );
  6.    MessageBox(sTemp,"Message",MB_OK);
  7.    //CDialog::OnKeyDown(nChar, nRepCnt, nFlags);  
  8. }


 
 
Qui est sensé récupérer les message windows. Rien de bien compliqué. D'autant plus que l'ajout de ce bout de code a été fait pas Visual .Net  
(propriété de la classe->message...)  
 
GEtikett c'est la classe de gestion d'une petite boite de dialogue (qui hérite d'une CDialog)  
 
Le truc qui se passe, c'est que mon bout de code est ignoré. Il ne se passe rien lors de l'appuie sur une touche, et quand je récupérait les messages de type WM_SYSKEYDOWN (par OnSysKeyDown(...) ) ben il se passait des choses alors que je ne les géraient pas....(ajout de ligne pour un ALT+L, beep pour les ALT+ autre touches...)  
 
Je n'aurais pas un problème d'héritage ou qq chose comme ça?  
 
Merci de m'aider, je me sent un peu con face a ce truc qui a l'air super simple..... : pfff:


---------------
"c'est pas parce'que c'est déja fait qu'il ne faut rien faire" Mr Marie
Reply

Marsh Posté le 02-06-2004 à 10:01:46   

Reply

Marsh Posté le 02-06-2004 à 11:40:06    

Normal car tu traite ce message mais tu ne le renvoye pas à windows.. donc il ne sait pas que toi tu fais quelque chose
 
Ta dernière ligne enlève le commentaire et ça devrait aller beaucoup mieux :)

Reply

Sujets relatifs:

Leave a Replay

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