Gestion des messages [VC++] - C++ - Programmation
Marsh Posté le 22-07-2002 à 16:39:51
tu peux utiliser un timer toutes les millisecondes, pour intercepter le message. implémente ce timer dans un thread de préférence
Marsh Posté le 22-07-2002 à 16:41:28
Harkonnen a écrit a écrit : tu peux utiliser un timer toutes les millisecondes, pour intercepter le message. implémente ce timer dans un thread de préférence |
C'est quoi la fonction pour intercepter un message?
Marsh Posté le 22-07-2002 à 17:06:59
GetMessage, que tu dois ensuite translater via TranslateMessage. j'ai pas les paramètres en tete, cf MSDN
Marsh Posté le 22-07-2002 à 17:13:02
Harkonnen a écrit a écrit : GetMessage, que tu dois ensuite translater via TranslateMessage. j'ai pas les paramètres en tete, cf MSDN |
Saurais tu comment affecter une fonction a un message perso?
Marsh Posté le 22-07-2002 à 17:18:48
Ca revient à appeler des fonctions en fonction d'évènements, et donc à créer des fonctions Callback.
Le mieux dans ton cas est de passer par un switch...case : dans ta fonction de Timer, une fois que tu as intercepté et décodé les messages, tu peux procéder comme suit :
Code :
|
etc...
Marsh Posté le 22-07-2002 à 17:21:27
ok je vais essayer, merci!
Marsh Posté le 23-07-2002 à 11:33:59
J'ai un petit probleme de boucle infinie. Voici mon code :
Dans le prog principal:
Code :
|
Dans ma fonction de callback:
Code :
|
A aucun moment "toto" apparait
Marsh Posté le 23-07-2002 à 11:38:11
T'as oublié le TranslateMessage()
Marsh Posté le 23-07-2002 à 11:42:27
voir ici pour plus d'infos sur les messages :
http://msdn.microsoft.com/library/ [...] queues.asp
Marsh Posté le 23-07-2002 à 11:44:00
A quel niveau? parce que moi je l'ai mis juste apres le GetMessage mais ca ne marche toujours pas!!
Marsh Posté le 23-07-2002 à 11:46:23
Faut faire un TranslateMessage et un DispatchMessage ensuite. Regarde le lien que je t'ai filé, tout est expliqué en intégralité
Marsh Posté le 23-07-2002 à 12:02:54
Arf!! J'ai fait exactement comme dans l'exemple mais ca ne marche toujours pas.
Code :
|
Marsh Posté le 23-07-2002 à 12:11:59
heu si en fait ca marche. J'ai enleve le AfxMessageBox("titi" ) par ce que celui ci creer un message et donc relancait la boucle.
Je te remercie de ton aide Harkonnen
Marsh Posté le 23-07-2002 à 12:15:44
Marsh Posté le 23-07-2002 à 12:16:47
il est fort lui avec son pseudo de biere
Marsh Posté le 23-07-2002 à 12:24:05
Godbout a écrit a écrit : il est fort lui avec son pseudo de biere |
Marsh Posté le 22-07-2002 à 16:37:43
Je suis dans ma boucle for et j'aimerai que mon programme s'arrete jusqu'a ce que je recoive un message particulier.
Comment je peux faire?
Message édité par try58 le 22-07-2002 à 16:39:26
---------------
LOVE & PEACE !!! [:kirvel]