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