CWinThread::IsIdleMessage
Invalide esta función para conservar OnIdle de llamar una vez generados los mensajes específicos.
Sintaxis
virtual BOOL IsIdleMessage(
MSG* pMsg
);
Parámetros
- pMsg
Señala al mensaje actualmente en proceso.
Valor devuelto
Distinto de cero si OnIdle se denomina después de procesar el mensaje; si no 0.
Comentarios
La implementación predeterminada no llama a OnIdle después de que los mensajes redundantes del mouse y mensajes generados por los símbolos de intercalación intermitentes.
Si una aplicación ha creado un temporizador corto, OnIdle se denominará con frecuencia, produciendo problemas de rendimiento.Para mejorar el rendimiento de una aplicación, reemplace IsIdleMessage en CWinAppde es una clase derivada para comprobar si hay mensajes de WM_TIMER como sigue:
BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
return FALSE;
else
return TRUE;
}
Administrar WM_TIMER de esta manera mejorará el rendimiento de las aplicaciones que utilizan los temporizadores cortos.
Requisitos
encabezado: afxwin.h