IsDialogMessageA 関数 (winuser.h)

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

構文

BOOL IsDialogMessageA(
  [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 バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント 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