次の方法で共有


IsDialogMessageA 関数 (winuser.h)

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

構文

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

パラメーター

[in] hDlg

型: HWND

ダイアログ ボックスのハンドル。

[in] lpMsg

型: LPMSG

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

戻り値

型: BOOL

メッセージが処理されている場合、戻り値は 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 ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして IsDialogMessage を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ 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