Метод IPrintDialogCallback::HandleMessage (commdlg.h)
Вызывается PrintDlgEx , чтобы предоставить приложению возможность обрабатывать сообщения, отправленные в дочернее диалоговое окно в нижней части страницы Общиена странице свойств печати. Дочернее диалоговое окно содержит элементы управления, аналогичные элементам диалогового окна Печать .
Синтаксис
HRESULT HandleMessage(
HWND hDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT *pResult
);
Параметры
hDlg
Тип: HWND
Дескриптор дочернего диалогового окна в нижней части страницы Общие .
uMsg
Тип: UINT
Идентификатор получаемого сообщения.
wParam
Тип: WPARAM
Дополнительные сведения о сообщении. Точное значение зависит от значения параметра uMsg .
lParam
Тип: LPARAM
Дополнительные сведения о сообщении. Точное значение зависит от значения параметра uMsg .
Если параметр uMsg указывает WM_INITDIALOG сообщение, lParam — это указатель на структуру PRINTDLGEX , содержащую значения, указанные при создании страницы свойств.
pResult
Тип: LRESULT*
Указывает результат, возвращаемый процедурой диалогового окна для сообщения. Значение, на которое указывает, должно иметь значение TRUE при обработке сообщения, в противном случае оно должно иметь значение FALSE или любое другое значение, соответствующее типу сообщения.
Возвращаемое значение
Тип: HRESULT
Верните S_OK , если ваша реализация IPrintDialogCallback::HandleMessage обработала сообщение. В этом случае функция PrintDlgEx не выполняет обработку сообщений по умолчанию.
Верните S_FALSE , если требуется, чтобы PrintDlgEx выполнял обработку сообщений по умолчанию.
Комментарии
Для уведомлений, передаваемых WM_NOTIFY сообщением, необходимо использовать функцию SetWindowLong со значением DWL_MSGRESULT , чтобы задать возвращаемое значение. При вызове SetWindowLong используйте GetParent(hDlg), чтобы задать DWL_MSGRESULT значение страницы Общие , которая является родительским элементом дочернего окна.
Процедура диалогового окна по умолчанию для дочернего окна в нижней части страницы Общие обрабатывает сообщение WM_INITDIALOG перед его передачей в метод HandleMessage . Для всех остальных сообщений, отправляемых в дочернее окно, HandleMessage сначала получает сообщение. Затем возвращаемое значение HandleMessage определяет, обрабатывает ли диалоговое окно по умолчанию сообщение или игнорирует его.
Если HandleMessage обрабатывает сообщение WM_CTLCOLORDLG , он должен вернуть допустимый дескриптор кисти для рисования фона диалогового окна. Как правило, если HandleMessage обрабатывает любое сообщение WM_CTLCOLOR* , он должен возвращать допустимый дескриптор кисти для рисования фона указанного элемента управления.
Не вызывайте функцию EndDialog из метода HandleMessage . Вместо этого HandleMessage может вызвать функцию PostMessage для публикации WM_COMMAND сообщения со значением IDABORT в процедуре диалогового окна. Публикация IDABORT закрывает страницу свойств печати и приводит к тому, что PrintDlgEx возвращает PD_RESULT_CANCEL в элементе dwResultAction структуры PRINTDLGEX . Если необходимо знать, почему HandleMessage закрыл диалоговое окно, необходимо предоставить собственный механизм взаимодействия между методом HandleMessage и приложением.
Стандартные элементы управления дочернего диалогового окна можно подклассить в нижней части страницы Общие . Эти стандартные элементы управления похожи на элементы управления в диалоговом окне Печать . Однако процедура диалогового окна по умолчанию также может быть подклассом элементов управления. Поэтому элементы управления следует подклассировать, когда HandleMessage обрабатывает WM_INITDIALOG сообщение. Это гарантирует, что процедура подкласса получает сообщения, относящиеся к элементу управления, перед процедурой подкласса, заданной процедурой диалогового окна.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | commdlg.h (включая Windows.h) |
DLL | Comdlg32.dll |
См. также раздел
Общая библиотека диалоговых окон
Основные понятия
Другие ресурсы
Справочные материалы