Функция IsDialogMessageA (winuser.h)
Определяет, предназначено ли сообщение для указанного диалогового окна и, если это так, обрабатывает сообщение.
Синтаксис
BOOL IsDialogMessageA(
[in] HWND hDlg,
[in] LPMSG lpMsg
);
Параметры
[in] hDlg
Тип: HWND
Дескриптор диалогового окна.
[in] lpMsg
Тип: LPMSG
Указатель на структуру MSG, содержащую проверяемое сообщение.
Возвращаемое значение
Тип: BOOL
Если сообщение обработано, возвращаемое значение ненулевое.
Если сообщение не обработано, возвращаемое значение равно нулю.
Замечания
Хотя функция
Когда IsDialogMessage обрабатывает сообщение, он проверяет наличие сообщений клавиатуры и преобразует их в выбранные элементы для соответствующего диалогового окна. Например, при нажатии клавиши TAB выбирает следующий элемент управления или группу элементов управления, а при нажатии клавиши СТРЕЛКА ВНИЗ выбирает следующий элемент управления в группе.
Так как функция isDialogMessage выполняет все необходимые преобразования и отправку сообщений, сообщение, обработанное IsDialogMessage, не должно передаваться в функцию TranslateMessage или DispatchMessage.
IsDialogMessage отправляет WM_GETDLGCODE сообщения в процедуру диалогового окна, чтобы определить, какие ключи должны обрабатываться.
IsDialogMessage могут отправлять DM_GETDEFID и DM_SETDEFID сообщения в окно. Эти сообщения определяются в файле заголовка Winuser.h как WM_USER и WM_USER + 1, поэтому конфликты возможны с определяемыми приложением сообщениями с одинаковыми значениями.
Заметка
Заголовок winuser.h определяет IsDialogMessage в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | 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) |
См. также
концептуальные
Справочник