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