bubulle63 a écrit :
Bonjour,
je travail sur une application SDI développée sous Visual C++.
....
Je comprend pas pourquoi.
Avez vous des idées?
|
tu peux aussi utiliser le mecanisme de "traitement de la boucle d'inactivité".
Expliqué ici dans la msdn en français : http://msdn.microsoft.com/library/ [...] essing.asp
grossierement, voila ce que tu fais dans ta boucle de traitement d'envoi et de reception de message par exemple :
Code :
- MSG m_msg;
- // BOUCLE DE TRAITEMENT
- while( bool ) {
- // Gestion des messages windows (stop, affichage)
- while(PeekMessage(&m_msg,NULL,0,0,PM_REMOVE)) {
- TranslateMessage(&m_msg);
- DispatchMessage(&m_msg);
- }
-
- // Fais tes traitements
- .....
- } // END OF WHILE
|
si une iteration de traitement est rapide, tu peux ne faire cette gestion de message qu'une fois toute les n boucles par exemple.
Edit : Une petite explication tout de meme :
Quand tu clique sur ton bouton arreter, windows envoie un message a ton application pour lui signifier cet evenement (click), mais comme ton application est occupé dans un traitement, elle ne reçoit pas ce message.
La boucle donnée dans l'exemple force la consommation des messages eventuellement en attente par ton application.
Message édité par elsed le 11-05-2006 à 15:13:34