次の方法で共有


CWinThread::IsIdleMessage

特定のメッセージが生成した後、呼び出し元の OnIdle を使用する場合は、この関数をオーバーライドします。

virtual BOOL IsIdleMessage(
   MSG* pMsg 
);

パラメーター

  • pMsg
    現在処理中のメッセージへのポインター。

戻り値

OnIdle がメッセージを処理した後に呼び出された場合は、; それ以外の場合は 0。

解説

既定の実装はを OnIdle とキャレットを点滅させることによって生成される追加のマウス メッセージとメッセージを呼び出していません。

アプリケーションが短いタイマーを作成した場合は、パフォーマンスの問題が発生 OnIdle は頻繁に呼び出されます。このようなアプリケーションのパフォーマンスを向上するには、アプリケーションの CWinAppIsIdleMessage -次のように WM_TIMER のメッセージを確認する派生クラスをオーバーライドします:

BOOL CMyWinApp::IsIdleMessage(MSG* pMsg)
{
   if (!CWinApp::IsIdleMessage(pMsg) || pMsg->message == WM_TIMER)
      return FALSE;
   else
      return TRUE;
}

WM_TIMER の処理はこの方法で短いタイマーを使用するアプリケーションのパフォーマンスが向上します。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CWinThread クラス

階層図