Pause et interception de messages
Bonjour,
Dans la documentation il est indiqué d'ajouter le code suivant dans la fonction WindowProc() d'une extension :
<div class="ubbcode-block"><div class="ubbcode-header">Code:</div><div class="ubbcode-body ubbcode-pre" ><pre>if (rhPtr->rh2.rh2PauseCompteur != 0) return 0;</pre></div></div>
Ce code me laisse perplexe et m'a causé qq soucis car certains messages n'étaient plus interceptés. Pour illustration : lorsqu'un utilisateur fait défiler une barre de défilement (ou déplace la fenêtre, ouvre un menu de la barre de menus, etc.), l'application MMF est figée et ce compteur se met à s'incrémenter. Il semblerait qu'il compte le nombre de messages interceptés depuis l'inactivité de la boucle d'événements principale.
Pour quelle raison ce code doit-il être présent (ou formulé autrement qu'est-ce que je risque à long terme si je l'enlève [img]<<GRAEMLIN_URL>>/wink.gif[/img] ) ?
ouly
Re: Pause et interception de messages
Dans la documentation il est précisé que quand rh2PauseCompteur est non nul, c-a-d quand l'application est en pause, la procédure de gestion des messages doit agir en conséquence et ne pas intercepter certains messages comme les messages souris ou les messages WM_COMMAND résultant d'une action de l'utilisateur (vu que l'application ne peut pas réagir en conséquence), ou les messages entraînant un appel à GENERATEEVENT.
Mais les messages n'ayant pas de lien avec le fonctionnement de l'application n'ont pas besoin d'être interceptés évidemment.
Re: Pause et interception de messages
Hello Yves,
Oui ceci je l'avais vu mais ça ne m'avait pas éclairé. Par contre je viens de voir comment sont gérés les messages WM_COMMAND dans l'exemple Simple Control. Passer par HandleRunObject() n'est pas bête, je vais faire de même.
ouly