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 で導入) |
関連項目
概念
リファレンス