次の方法で共有


CWnd::IsDialogMessage

更新 : 2007 年 11 月

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

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 のメンバ