Функция IsDialogMessage определяет, предназначено ли сообщение для заданного блока диалога и, если это так, обрабатывает его.
Синтаксис
BOOL IsDialogMessage( HWND hDlg, LPMSG lpMsg ); |
Параметры
hDlg
[in] Дескриптор диалогового окна.lpMsg
[in] Указатель на структуру MSG, содержащую сообщение, которое будет проверено.Возвращаемое значение
Если сообщение было обработано, возвращаемое значение не нуль.
Если сообщение не было обработано, возвращаемое значение равняется нулю.
Замечания
Несмотря на то, что функция IsDialogMessage предназначена для немодальных блоков диалога, Вы можете использовать ее с любым окном, которое содержит органы управления, дающие возможность окнам предусматривать тот же самый расклад клавиатуры, который используется в диалоговом окне.
Когда IsDialogMessage обрабатывает сообщение, она проверяет сообщения клавиатуры и преобразует их в вариант для соответствующего диалогового окна. Например, когда нажимается клавиша TAB, то выбирается следующий орган управления или их группа, и когда нажимается клавиша DOWN ARROW (СТРЕЛКА ВНИЗ), выбирается следующий орган управления в группе.
Поскольку функция IsDialogMessage исполняет все необходимые преобразования и диспетчеризацию сообщений, сообщение, обработанное IsDialogMessage, нельзя передавать в функции TranslateMessage или DispatchMessage.
IsDialogMessage отправляет сообщениям WM_GETDLGCODE процедуре диалогового окна, чтобы определить, какие клавиши должны быть обработаны.
IsDialogMessage может отправлять в окно сообщения DM_GETDEFID и DM_SETDEFID. Эти сообщения определены в заголовочном файле WINUSER.H как WM_USER и WM_USER + 1, так что возможны конфликты с определяемыми программой сообщениями, имеющими те же самые значения.
Windows 95/98/Me: IsDialogMessageW поддерживается программой Microsoft Layer for Unicode. Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.
Смотри также
Обзор Диалоговые окна, Функции, используемые диалоговыми окнами, DispatchMessage, DM_GETDEFID, DM_SETDEFID, MSG, TranslateMessage, WM_GETDLGCODE, WM_USER
Размещение и совместимость IsDialogMessage |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |