J'aimerais comprendre comment fonctionne l'événement OnIdle.

Je m'explique. Le but est de communiquer par tcp-ip avec un automate.
La communication est gérée dans une dll qui emet et reçoit des données par socket, tout ça grâce à une machine à état, dans un thread cadencé à 100 ms.
Par ailleurs, la classe de communication possède une méthode d'analyse des data, qui est capable de notifier des changements de data à l'extérieur de la dll par callback.
Cette méthode est appelée par une IHM de test (fenêtre non modale dérivée de CDialog) sur événement OnIdle de l'application.
Le tout fonctionne correctement hormis le raffraissement des data qui reviennent de l'automate, dont le temps est très aléatoire (modification de texte dans les edit boxes, changement d'état de check boxes) . En ajoutant un beep dans la méthode OnIdle, je me rends compte que OnIdle n'est joué que lorsque ma souris bouge sur ma fenêtre (????)

Quelqu'un a une explication ?