Freigeben über


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

Siehe auch

Referenz

CWinThread-Klasse

Hierarchiediagramm