Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
882 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [VC++] Gestion des messages

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VC++] Gestion des messages

n°180097
try58
Posté le 22-07-2002 à 16:37:43  profilanswer
 

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]
mood
Publicité
Posté le 22-07-2002 à 16:37:43  profilanswer
 

n°180100
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 22-07-2002 à 16:39:51  profilanswer
 

tu peux utiliser un timer toutes les millisecondes, pour intercepter le message. implémente ce timer dans un thread de préférence


---------------
J'ai un string dans l'array (Paris Hilton)
n°180102
try58
Posté le 22-07-2002 à 16:41:28  profilanswer
 

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?


---------------
LOVE & PEACE !!! [:kirvel]
n°180133
try58
Posté le 22-07-2002 à 17:00:37  profilanswer
 

:bounce:


---------------
LOVE & PEACE !!! [:kirvel]
n°180140
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 22-07-2002 à 17:06:59  profilanswer
 

GetMessage, que tu dois ensuite translater via TranslateMessage. j'ai pas les paramètres en tete, cf MSDN


---------------
J'ai un string dans l'array (Paris Hilton)
n°180147
try58
Posté le 22-07-2002 à 17:13:02  profilanswer
 

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?


---------------
LOVE & PEACE !!! [:kirvel]
n°180148
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 22-07-2002 à 17:18:48  profilanswer
 

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 :
  1. switch (msg) {
  2.    case WM_MACHIN:
  3.       // appeler la fonction souhaitée
  4.       break;
  5.    case WM_TRUC:
  6.       // appeler la fonction souhaitée
  7.       break;
  8. }


 
etc...


---------------
J'ai un string dans l'array (Paris Hilton)
n°180151
try58
Posté le 22-07-2002 à 17:21:27  profilanswer
 

ok je vais essayer, merci!


---------------
LOVE & PEACE !!! [:kirvel]
n°180532
try58
Posté le 23-07-2002 à 11:33:59  profilanswer
 

J'ai un petit probleme de boucle infinie. Voici mon code :
Dans le prog principal:

Code :
  1. #define WM_MYMESSAGE WM_USER+3
  2. GetMessage(&Msg, m_hWnd, 0, 0);
  3. while (Msg.message != WM_MYMESSAGE)
  4. {
  5. GetMessage(&Msg, m_hWnd, 0, 0);
  6. AfxMessageBox("titi" );
  7. }
  8. AfxMessageBox("toto" );


Dans ma fonction de callback:

Code :
  1. //_MyData->hW correspond a mon pointeur sur ma Dialogue
  2. _MyData->hW->PostMessage(WM_MYMESSAGE, 0, 0);


A aucun moment "toto" apparait


Message édité par try58 le 23-07-2002 à 11:34:26

---------------
LOVE & PEACE !!! [:kirvel]
n°180538
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-07-2002 à 11:38:11  profilanswer
 

T'as oublié le TranslateMessage()


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 23-07-2002 à 11:38:11  profilanswer
 

n°180544
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-07-2002 à 11:42:27  profilanswer
 

voir ici pour plus d'infos sur les messages :
 
http://msdn.microsoft.com/library/ [...] queues.asp


---------------
J'ai un string dans l'array (Paris Hilton)
n°180550
try58
Posté le 23-07-2002 à 11:44:00  profilanswer
 

A quel niveau? parce que moi je l'ai mis juste apres le GetMessage mais ca ne marche toujours pas!!


---------------
LOVE & PEACE !!! [:kirvel]
n°180553
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-07-2002 à 11:46:23  profilanswer
 

Faut faire un TranslateMessage et un DispatchMessage ensuite. Regarde le lien que je t'ai filé, tout est expliqué en intégralité


---------------
J'ai un string dans l'array (Paris Hilton)
n°180575
try58
Posté le 23-07-2002 à 12:02:54  profilanswer
 

Arf!! J'ai fait exactement comme dans l'exemple mais ca ne marche toujours pas.

Code :
  1. while (GetMessage(&Msg, NULL, 0, 0))
  2. {
  3. TranslateMessage(&Msg);
  4. DispatchMessage(&Msg);
  5. if (Msg.message == WM_MYMESSAGE)
  6.  break;
  7. AfxMessageBox("titi" );
  8. }
  9. AfxMessageBox("toto" );



---------------
LOVE & PEACE !!! [:kirvel]
n°180592
try58
Posté le 23-07-2002 à 12:11:59  profilanswer
 

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


Message édité par try58 le 23-07-2002 à 12:12:15

---------------
LOVE & PEACE !!! [:kirvel]
n°180597
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-07-2002 à 12:15:44  profilanswer
 

:hello:


---------------
J'ai un string dans l'array (Paris Hilton)
n°180598
godbout
Génial.
Posté le 23-07-2002 à 12:16:47  profilanswer
 

il est fort lui :jap: avec son pseudo de biere :D


---------------
Super.
n°180608
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-07-2002 à 12:24:05  profilanswer
 

Godbout a écrit a écrit :

il est fort lui :jap: avec son pseudo de biere :D




[:swiip]


---------------
J'ai un string dans l'array (Paris Hilton)
n°181438
True Mauri​ce
Le cri qui desaoule
Posté le 24-07-2002 à 11:32:47  profilanswer
 

http://forum.hardware.fr/icones/icon14.gif


---------------
Allez l'OM :jap:
n°181439
godbout
Génial.
Posté le 24-07-2002 à 11:33:00  profilanswer
 

:D


---------------
Super.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [VC++] Gestion des messages

 

Sujets relatifs
gestion d'ecran sous winLes différents messages d'erreur
gestion de la mémoire ?Gestion d'événements et vous, vous faites comment ?
cherche des nfos sur la gestion d'erreur en ASP avec SQL[Access] Pb de gestion de droit sous XP
[JAVA @] logiciel de gestion [DELPHI vous pouvez venir aussi]package F¨TP ,TELNET, gestion de fichiers..
[VC++ MFC] Access - Question sur la gestion d'un champ OLE=> Soft de gestion de LCD <= Y'a du monde de motivé pour aider?
Plus de sujets relatifs à : [VC++] Gestion des messages


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR