IsDialogMessageW 関数 (winuser.h)

メッセージが指定したダイアログ ボックスを対象としているかどうかを判断し、メッセージを処理する場合は処理します。

構文

BOOL IsDialogMessageW(
  [in] HWND  hDlg,
  [in] LPMSG lpMsg
);

パラメーター

[in] hDlg

型: HWND

ダイアログ ボックスを識別するハンドル。

[in] lpMsg

種類: LPMSG

確認するメッセージを含む MSG 構造体へのポインター。

戻り値

種類: BOOL

メッセージが処理されている場合、戻り値は 0 以外です。

メッセージが処理されていない場合、戻り値は 0 です。

注釈

IsDialogMessage 関数はモードレス ダイアログ ボックスを対象としていますが、コントロールを含む任意のウィンドウで使用できるため、ウィンドウでダイアログ ボックスで使用されているものと同じキーボード選択を提供できます。

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

IsDialogMessage 関数は、必要なすべてのメッセージの翻訳とディスパッチを実行するため、IsDialogMessage によって処理されるメッセージを TranslateMessage 関数または DispatchMessage 関数に渡す必要はありません。

IsDialogMessage WM_GETDLGCODEメッセージをダイアログ ボックス プロシージャに送信して、処理する必要があるキーを決定します。

IsDialogMessage は、 DM_GETDEFID メッセージと DM_SETDEFID メッセージをウィンドウに送信できます。 これらのメッセージは Winuser.h ヘッダー ファイルで WM_USER および WM_USER + 1 として定義されているため、同じ値を持つアプリケーション定義メッセージとの競合が発生する可能性があります。

注意

winuser.h ヘッダーは、ISDialogMessage をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-dialogbox-l1-1-3 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

概念

DM_GETDEFID

DM_SETDEFID

ダイアログ ボックス

DispatchMessage

Msg

リファレンス

TranslateMessage

WM_GETDLGCODE

WM_USER