CWinThread::IsIdleMessage
virtual BOOL IsIdleMessage( MSG* pMsg );
返回值:
如果在处理消息之后调用了OnIdle,则返回非零值;否则返回0。
参数:
说明:
如果避免在产生指定的消息以后调用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消息可以改善那些使用短定时器的应用程序的性能。