CWinThread::IsIdleMessage
Eseguire l'override di questa funzione per mantenere OnIdle venga chiamato dopo che i messaggi specifici vengono generati.
virtual BOOL IsIdleMessage(
MSG* pMsg
);
Parametri
- pMsg
Punti al messaggio corrente di elaborazione.
Valore restituito
Diverso da zero se OnIdle viene chiamato dopo l'elaborazione il messaggio, in caso contrario 0.
Note
L'implementazione predefinita non chiama OnIdle dopo messaggi ridondanti del mouse e messaggi generati dai cursori lampeggianti.
Se un'applicazione viene creato un timer per il OnIdle , verrà chiamato spesso, causando problemi di prestazioni.Per migliorare le prestazioni di tale applicazione, eseguire l'override IsIdleMessage in CWinAppdell'applicazione classe derivata da controllare i messaggi WM_TIMER come segue:
BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
return FALSE;
else
return TRUE;
}
La gestione WM_TIMER in questo modo è possibile migliorare le prestazioni delle applicazioni che utilizzano i timer di più breve.
Requisiti
Header: afxwin.h