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