Win32 API. Справочник по диалоговому окну

ОГЛАВЛЕНИЕ

Функция IsDialogMessage

(СообщениеДиалога)

Функция IsDialogMessage определяет, не предназначено ли сообщение для заданного блока диалога и, если это так, обрабатывает сообщение.

Синтаксис

BOOL IsDialogMessage
(
HWND hDlg, // дескриптор диалогового окна
LPMSG lpMsg // адрес структуры с сообщением
);

Параметры
hDlg
Идентифицирует диалоговое окно.
lpMsg
Указывает на структуру 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, так что возможны конфликты с определяемыми программой сообщениями, имеющими те же самые значения.

Смотри также
DispatchMessage, DM_GETDEFID, DM_SETDEFID, MSG, TranslateMessage, WM_GETDLGCODE, WM_USER

Размещение и совместимость IsDialogMessage

Windows NT			Да
Win95 Да
Win32s Да
Импортируемая библиотека user32.lib
Заголовочный файл winuser.h
Unicode WinNT
Замечания по платформе Не имеется