CWinThread::IsIdleMessage

Remplacez cette fonction pour conserver ONIDLE d'être appelé après des messages spécifiques soient générés.

virtual BOOL IsIdleMessage(
   MSG* pMsg 
);

Paramètres

  • pMsg
    Pointe vers le message actuellement en cours de traitement.

Valeur de retour

Une valeur différente de zéro si OnIdle est appelé après avoir traité le message ; sinon 0.

Notes

L'implémentation par défaut n'appelle pas ONIDLE une fois les messages de la souris redondants et des messages générés par le signe insertion clignotements.

Si une application a créé une minuterie courte, ONIDLE sera appelé, souvent poser des problèmes de performances.Pour améliorer les performances d'une telle application, substitution IsIdleMessage dans CWinAppde l'application classe dérivée à vérifier les messages d' WM_TIMER comme suit :

BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
   if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
      return FALSE;
   else
      return TRUE;
}

La gestion WM_TIMER de cette manière améliore les performances des applications qui utilisent les minuteries courtes.

Configuration requise

Header: afxwin.h

Voir aussi

Référence

Classe de CWinThread

Graphique de la hiérarchie