次の方法で共有


CWnd::IsDialogMessage

与えられたメッセージがモードレス ダイアログ ボックス用かどうかを調べ、モードレス ダイアログ ボックス用である場合はメッセージを処理します。

BOOL IsDialogMessage(
   LPMSG lpMsg 
);

パラメーター

  • lpMsg
    チェックされるメッセージを含む MSG 構造体を指定します。

戻り値

メンバー関数が与えられたメッセージを処理したかどうかを返します。 メッセージが処理された場合は 0 以外を返します。それ以外の場合は 0 を返します。 0 が返されたら、メッセージを処理するために基本クラスの CWnd::PreTranslateMessage メンバー関数を呼び出します。 CWnd::PreTranslateMessage メンバー関数のオーバーライドでのコードは以下のようになります。

BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg)
{
   if(IsDialogMessage(pMsg))
      return TRUE;
   else
      return CDialog::PreTranslateMessage(pMsg);
}

解説

IsDialogMessage 関数はメッセージを処理するときに、キーボード メッセージをチェックし、対応するダイアログ ボックスの選択コマンドに変換します。 たとえば、Tab キー は次のコントロールかコントロール グループを選択し、下向きの方向キーはグループ内の次のコントロールを選択します。

IsDialogMessage によって処理されたメッセージは既に処理されているため、TranslateMessage または DispatchMessage Windows 関数に渡さないようにします。

必要条件

**ヘッダー:**afxwin.h

参照

参照

CWnd クラス

階層図

DispatchMessage

TranslateMessage

GetMessage

CWnd::PreTranslateMessage

IsDialogMessage

概念

CWnd のメンバー