CWinThread::IsIdleMessage
Überschreiben Sie diese Funktion, um OnIdle von aufgerufen werden beizubehalten, nachdem bestimmte Meldungen generiert wurden.
virtual BOOL IsIdleMessage(
MSG* pMsg
);
Parameter
- pMsg
Zeigt auf die aktuellen Meldung, die verarbeitet wird.
Rückgabewert
Ungleich 0 (null), wenn OnIdle aufgerufen wird, nachdem Meldung verarbeitet hat; andernfalls 0.
Hinweise
Die Standardimplementierung ruft nicht OnIdle nach redundante Mausmeldungen und Nachrichten auf, die von blinkender Einfügemarken generiert werden.
Wenn eine Anwendung einen Kurzarbeiter erstellt hat, wird OnIdle häufiger aufgerufen und Leistungsprobleme verursacht. Um die Leistung einer solchen Anwendung zu verbessern, überschreiben Sie IsIdleMessage in CWinApp der Anwendung - für WM_TIMER Meldungen zu überprüfen die abgeleitete Klasse wie folgt:
BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
return FALSE;
else
return TRUE;
}
Behandlung WM_TIMER auf diese Weise verbessert die Leistung von Anwendungen, die Kurzarbeiter verwenden.
Anforderungen
Header: afxwin.h