[C++ borland] Qu'est-ce qui cloche?

Qu'est-ce qui cloche? [C++ borland] - C++ - Programmation

Marsh Posté le 18-07-2003 à 21:42:54    

Je voudrais executer une fonction à chaque fois qu'une touche est enfoncée... Pour celà, je pensait faire comme ça :

Code :
  1. void __fastcall TOpenGL_Form::FormKeyPress(TObject *Sender, WORD &Key, TShiftState Shift)
  2. {
  3. DrawScene();
  4. }


 
Le problème c'est que j'ai beau appuyer sur toutes les touches, ma fonction ne s'execute jamais !!!!  :cry:  :cry:  
Qu'est-ce qui ne va pas?

Reply

Marsh Posté le 18-07-2003 à 21:42:54   

Reply

Marsh Posté le 18-07-2003 à 22:12:19    

Ta forme à le focus au moins ?
Si c'est une fenêtre fille qui a le focus, passe OpenGL_Form->KeyPreview à true
 
Edit : une méga faute dû à la fatigue on va dire.. :o


Message édité par *syl* le 18-07-2003 à 23:42:12
Reply

Marsh Posté le 18-07-2003 à 23:12:57    

*Syl* a écrit :

T'as forme à le focus au moins ?
Si c'est une fenêtre fille qui a le focus, passe OpenGL_Form->KeyPreview à true


A priori, il n'y a qu'une seule forme...
Je vais essayer quand même, merci de ta réponse  :jap:  
Quand même je suis pas fou, ca devrait marcher, non  :??:

Reply

Marsh Posté le 18-07-2003 à 23:41:26    

Bah wé ça devrait marcher si y'en a qu'une..
Si tu mets un breakpoint sur la méthode, ça break pas ?

Reply

Marsh Posté le 19-07-2003 à 12:30:16    

*Syl* a écrit :

Bah wé ça devrait marcher si y'en a qu'une..
Si tu mets un breakpoint sur la méthode, ça break pas ?


beh non...je pige pas.
Bon je vais reprendre mon calme et essayer un prog de base avec ca et puis je verrai bien.  :(

Reply

Marsh Posté le 19-07-2003 à 13:06:11    

*Syl* a écrit :

Bah wé ça devrait marcher si y'en a qu'une..


 
Il faut quand même mettre KeyPreview à True, même avec une fenêtre il me semble.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 19-07-2003 à 13:38:14    

antp a écrit :


 
Il faut quand même mettre KeyPreview à True, même avec une fenêtre il me semble.


Ah ok merci antp...
Mais je peux pas tester, y a mon frêre et ma soeur qui squatent mon PC depuis hier à regarder leurs animes... :cry:  

Reply

Marsh Posté le 19-07-2003 à 16:58:45    

antp a écrit :


 
Il faut quand même mettre KeyPreview à True, même avec une fenêtre il me semble.

Qd je parles de fenêtres faut le comprendre au sens Windows c'est à dire (button, listbox, etc..), si y'a que sa fiche et qu'il dessine dessus, c'est forcément elle qui a le focus donc pas besoin de KeyPreview..
Spex, le pb vient peut-être d'OpenGL, il crée peut-être une autre fenêtre (je connais pas donc c'est des suppositions), compare le GetActiveWindow() avec le handle de ta form pour voir s'ils sont identiques..

Reply

Marsh Posté le 19-07-2003 à 18:12:06    

antp a écrit :


 
Il faut quand même mettre KeyPreview à True, même avec une fenêtre il me semble.


 
+1
 
je pense que si, j'avais fait un micro tetris opengl en Builder, j'avais pas eu ce problème, mais je coris bien que j'avais un keypreview
 
 
je regarderai mes sources

Reply

Marsh Posté le 19-07-2003 à 23:04:22    

Bon c'est bien ça, merci à tous :jap:
il fallait bien activer Keypreview, même si je n'ai qu'une form.
Comme tu le dis, Syl, ca vient peut-être de l'openGl, faudrait que j'essaye avec un prog sans openGl pour en avoir le coeur net.
:hello:
 


Message édité par Spex le 19-07-2003 à 23:04:57
Reply

Sujets relatifs:

Leave a Replay

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