CWinThread::IsIdleMessage

virtual BOOL IsIdleMessage( MSG* pMsg );

返回值:
如果在处理消息之后调用了OnIdle,则返回非零值;否则返回0。

参数:
pMsg指向当前被处理的消息。

说明:
如果避免在产生指定的消息以后调用OnIdle函数,则应重载这个函数。当产生重复的鼠标消息和闪烁光标消息之后,这个函数的缺省实现并不调用OnIdle。
如果应用程序创建了一个短的定时器,OnIdle将被频繁调用,导致性能上的问题。为了改善这种应用程序的性能,重载应用程序的CWinApp派生类中的IsIdleMessage消息,按照如下方式检测WM_TIMER消息:
BOOL CMyApp::IsIdleMessage( MSG* pMsg )
{
  if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER) return FALSE;
  else return TRUE;
}
按照这种方式处理WM_TIMER消息可以改善那些使用短定时器的应用程序的性能。