Сообщения стандартного диалогового окна
Стандартные диалоговые окна используют сообщения, чтобы уведомлять вашу оконную или фильтр - процедуру, когда происходят определенные события. Кроме того, имеются сообщения, которые вы можете пересылать в стандартное диалоговое окно, чтобы извлечь информацию или управлять поведением или видом диалогового окна. Этот раздел описывает сообщения стандартного диалогового окна, регистрируемые функцией RegisterWindowMessage, сообщения, используемые диалоговыми окнами Шрифт (Font) и Параметры страницы (Page Setup) и сообщения, используемые диалоговыми окнами в стиле Проводника Открыть (Open) и Сохранить как (Save As).
Библиотека стандартных диалоговых окон определяет набор строк сообщений. Вы можете передавать константу, связанную с одной из этих строк в RegisterWindowMessage, чтобы получить идентификатор сообщения. Вы можете затем использовать этот идентификатор, чтобы обнаруживать и обрабатывать сообщения, посланные из стандартного диалогового окна или оправлять сообщения ему. Следующая таблица показывает константы сообщений и описывает их использование.
Константа | Использование |
Диалоговое окно Цвет (Color) отправляет это сообщение фильтр - процедуре тогда, когда пользователь выбирает цвет и щелкает мышью по кнопке OK. Фильтр - процедура (hook) может принять цвет или отклонить его и заставить диалоговое окно оставаться открытым. |
|
Диалоговое окно Открыть (Open) или Сохранить как (Save As) отправляет это сообщение фильтр - процедуре тогда, когда пользователь выбирает имя файла и щелкает мышью по кнопке OK. Фильтр - процедура (hook) может принять имя файла или отклонить его и заставить диалоговое окно оставаться открытым. Для диалоговых окон в стиле Проводника Открыть (Open) и Сохранить как (Save As), это сообщение было заменено уведомляющим сообщением CDN_FILEOK. |
|
Диалоговое окно Найти (Find) или Заменить (Replace) отправляет это сообщение оконной процедуре своего родительского окна тогда, когда пользователь щелкает мышью по кнопке Искать дальше (Find Next), Заменить (Replace) или Заменить Все (Replace All), или закрывает диалоговое окно. Параметр сообщения lParam указывает на структуру FINDREPLACE, которая содержит информацию, введенную пользователем. |
|
Все стандартные диалоговые окна отправляют это сообщение оконной процедуре своего родительского окна, когда пользователь щелкает мышью по кнопке Справка (Help). Для диалоговых окон в стиле Проводника Открыть (Open) и Сохранить как (Save As), это сообщение было заменено уведомляющим сообщением CDN_HELP. |
|
Диалоговые окна Открыть (Open) или Сохранить как (Save As) отправляют это сообщение в фильтр - процедуру тогда, когда пользователь изменяет выбор в окне со списком Имя файла (File Name). Для диалоговых окон в стиле Проводника Открыть (Open) и Сохранить как (Save As) это сообщение было заменено уведомляющим сообщением CDN_SELCHANGE. |
|
Фильтр - процедура (hook) может отправить это сообщение диалоговому окну Цвет (Color), чтобы установить выбор текущего цвета. |
|
Диалоговое окно Открыть (Open) или Сохранить как (Save As) отправляет это сообщение фильтр - процедуре, если происходит ошибка совместного доступа для выбранного файла тогда, когда пользователь щелкает мышью по кнопке OK. Для диалоговых окон в стиле Проводника Открыть (Open) и Сохранить как (Save As) это сообщение было заменено уведомляющим сообщением CDN_SHAREVIOLATION. |
Некоторые стандартные диалоговые окна отправляют и принимают другие сообщения окна. Фильтр - процедура (hook) для диалогового окна Шрифт (Font) может отправлять любое из сообщений WM_CHOOSEFONT_* в диалоговое окно Шрифт (Font). Для получения дополнительной информации, см. статью Диалоговое окно Шрифт (Font). Диалоговое окно Page Setup, если вы включили фильтр - процедуру PagePaintHook, отправляет сообщения WM_PSD_*. Для получения дополнительной информации, см. статью Диалоговое окно Параметры страницы (Page Setup).
Диалоговые окна в стиле Проводника Открыть (Open) и Сохранить как (Save As) поддерживают набор предопределенных сообщений. Они включают в себя уведомляющие сообщения, передаваемые в форме сообщения WM_NOTIFY в вашу фильтр - процедуру, и сообщения, которые ваша фильтр - процедура может отправить в диалоговое окно. Полный список этих сообщений, см. статье Фильтр - процедуры для стиля Проводника.