CWinThread::IsIdleMessage
Переопределить эту функцию для хранения OnIdle из вызываться после конкретные сообщения.
virtual BOOL IsIdleMessage(
MSG* pMsg
);
Параметры
- pMsg
Указывает на текущий, обрабатыванной сообщению.
Возвращаемое значение
Ненулевой если OnIdle должно вызываются после обработки сообщения; в противном случае – значение 0.
Заметки
Реализация по умолчанию не вызовет OnIdle после резервных сообщения мыши и сообщения, созданные с моргать carets.
Если приложение создал короткий таймер, то OnIdle будет вызываются часто, поэтому проблем производительности.Повысить производительность такого приложения, переопределение IsIdleMessage в CWinApp приложения - производный класс для проверки сообщений WM_TIMER следующим образом:
BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
return FALSE;
else
return TRUE;
}
Обработка WM_TIMER в этом случае улучшит производительность приложений, использующих короткие таймеры.
Требования
Header: afxwin.h