CWinThread::IsIdleMessage
特定のメッセージが生成した後、呼び出し元の OnIdle を使用する場合は、この関数をオーバーライドします。
virtual BOOL IsIdleMessage(
MSG* pMsg
);
パラメーター
- pMsg
現在処理中のメッセージへのポインター。
戻り値
OnIdle がメッセージを処理した後に呼び出された場合は、; それ以外の場合は 0。
解説
既定の実装はを OnIdle とキャレットを点滅させることによって生成される追加のマウス メッセージとメッセージを呼び出していません。
アプリケーションが短いタイマーを作成した場合は、パフォーマンスの問題が発生 OnIdle は頻繁に呼び出されます。このようなアプリケーションのパフォーマンスを向上するには、アプリケーションの CWinAppの IsIdleMessage -次のように WM_TIMER のメッセージを確認する派生クラスをオーバーライドします:
BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
return FALSE;
else
return TRUE;
}
WM_TIMER の処理はこの方法で短いタイマーを使用するアプリケーションのパフォーマンスが向上します。
必要条件
ヘッダー: afxwin.h