CWinThread::IsIdleMessage

Invalide esta función para conservar OnIdle de llamar una vez generados los mensajes específicos.

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

Vea también

Referencia

CWinThread Class

Gráfico de jerarquías