PreTranslateMessage sans MFC: detect key press [C/C++][Win32] - C++ - Programmation
Marsh Posté le 24-02-2003 à 11:09:55
Ben tu appelle juste ta fonction "PreTranslateMessage" dans ta boucle de "traîtement" des messages.
Un truc comme par exemple :
Code :
|
Marsh Posté le 24-02-2003 à 11:20:12
Moi j'ai un WinMain et je n'utilise pas les MFC donc à priori MSDN à l'appui je ne vois pas comment utiliser la fonction PreTranslateMessage membre de la classe CWnd /CWinThread / CWinApp, mais bon je peux me tromper ! Help!
En fait le but est le suivant:
Je veux faire éxécuter qqch à mon prog quand on appui sur F3 par exemple. Seulement voila quand c'est mon edit ou ma liste qui a le controle et bien le message WM_KEYDOWN n'est pas envoyé à mon app...
La solution de bricolage serait dans chaque controle de détecter si F3 et après de procédé à l'appel de la fonction, mais bon...
Donc existe-t-il un moyen de regarder si on a appuyer sur une touche mais peu importe quel controle a le focus... ?
Marsh Posté le 24-02-2003 à 15:11:10
ANTSite a écrit : Moi j'ai un WinMain... |
Donc si tu as un WinMain, tu as bien quelque part un truc du genre :
Code :
|
Et donc, avant de faire le TranslateMessage et le DispatchMessage, tu fais un appel à ta fonction PreTranslateMessage que tu codes tout seul. Tu peux bien évidemment l'appeler MaFonctionQuiTraiteLesMessagesAvantWindows ou ce que tu veux d'autre. La fonction que j'ai appelée PreTranslateMessage dans le code du message précedent est une fonction que tu codes comme tu veux (ce n'est pas celle des MFCs).
Par exemple :
Code :
|
C'est plus clair, maintenant ?
Marsh Posté le 24-02-2003 à 16:11:28
Ouh la oui je me suis complètement planté, j'avais pas compris, pardon et merci beaucoup pour cet éclaircissement!
P.S. : Je me présenterais bien comme boolay officiel de Gatorette moi!
Marsh Posté le 24-02-2003 à 16:18:43
Je pense à un truc : tu peux peut être essayer cette méthode pour capturer l'appui sur la touche Entrée. Cela résoudrait peut être ton autre problème.
Malgré tout, c'est quand même une méthode pas très "propre" (mais bon, si ça marche...).
Marsh Posté le 24-02-2003 à 19:01:05
Citation : Donc existe-t-il un moyen de regarder si on a appuyer sur une touche mais peu importe quel controle a le focus... ? |
oui, les Accelerator ... C'est + simple, + propre, et fait exprès !
http://www.schaudin.via.t-online.d [...] lation.htm
Marsh Posté le 24-02-2003 à 19:12:36
J'avais complètement oublié cette solution que j'ai déjà utilisée, en effet c'est l'idéal et ça marche nickel
Marsh Posté le 23-02-2003 à 18:53:30
Salut,
Comment faire pour intercepter un message avant que celui-ci soit "envoyé" dans la boucle des messages, en gros je voudrais savoir si l'on peut utiliser une fonction du genre PreTranslateMessage des MFC...
merci
ANT
Message édité par antsite le 24-02-2003 à 11:40:15