Посылка сообщений
Обработчики сообщений, расположенные в функциях диалога, могут посылать органам управления Property Sheet и Wizard различные сообщения, добавляя или удаляя отдельные страницы, изменяя состояние кнопок, таких как Apply или Next, и т. д.
Ниже мы привели список таких сообщений с кратким описанием.
Сообщение | Описание |
PSM_ADDPAGE | Добавление новой страницы в конец блокнота |
PSM_APPLY | Действие этого сообщения эквивалентно действию кнопки Apply. При этом текущая страница получит извещение с кодом PSN_KILLACTIVE |
PSM_CANCELTOCLOSE | Если послать это сообщение, вместо кнопки Cancel появится кнопка Close. Используется в тех случаях, когда пользователь выполнил такие изменения, от которых уже нельзя отказаться |
PSM_CHANGED | Это сообщение разблокирует кнопку Apply |
PSM_GETTABCONTROL | С помощью этого сообщения можно узнать идентификатор органа управления Tab (в нашей книге не описан), который используется для создания закладок в блокноте |
PSM_PRESSBUTTON | С помощью этого сообщения можно симулировать действие кнопок управления блокнотом или органом управления Wizard, таких как, например, OK, Next или Finish |
PSM_QUERYSIBLINGS | Передача сообщения функциям диалога всех страниц в блокноте |
PSM_REMOVEPAGE | Удаление страницы из блокнота |
PSM_REBOOTSYSTEM | Это сообщение посылается при обработке извещений PSN_APPLY или PSN_KILLACTIVE, если для использования новых параметров необходимо выполнить перезапуск системы. При этом функция PropertySheet возвратит значение ID_PSREBOOTSYSTEM. Перезапуск системы приложение может выполнить при помощи функции ExitWindowsEx |
PSM_RESTARTWINDOWS | Аналогично предыдущему, но используется когда нужно перезапустить Microsoft Windows 95 без полного перезапуска системы |
PSM_SETCURSEL | Активизация указанной страницы блокнота по номеру или идентификатору |
PSM_SETCURSELID | Активизация указанной страницы блокнота по ее идентификатору в ресурсах приложения |
PSM_SETFINISHTEXT | Установка нового текста для кнопки Finish с блокированием кнопок Back и Next |
PSM_SETTITLE | Установка заголовка блокнота Property Sheet |
PSM_SETWIZBUTTONS | Блокирование или разблокирование кнопок Back, Next и Finish в органе управления Wizard |
PSM_UNCHANGED | Это сообщение блокирует кнопку Apply |
Самые важные из этих сообщений будут рассмотрены ниже при описании исходных текстов приложений Property Sheet Demo и Wizard Demo. Исчерпывающую информацию об использовании этих сообщений вы найдете, конечно, в справочной системе SDK.