Создание немодального страница свойств
Как правило, страницы свойств создании будут являются модальными.При использовании режимной страницы свойств, пользователь должен закрыть страницу свойств перед использованием любой другой части приложения.Данный раздел описывает методы, которые можно использовать для создания безрежимного страница свойств, которая позволяет пользователю поддерживать открыть страницы свойств при использовании другие части приложения.
Отображение страницы " свойства " в качестве безрежимного диалогового окна, а не в виде модального диалогового окна, вызов CPropertySheet::Create вместо DoModal.Кроме того, необходимо предоставить некоторые дополнительные задачи поддержки страницу свойств modeless.
Одна из дополнительных задач обмен данными между страницей свойств и внешним объектом изменяет когда страница свойств открыто.Обычно это та же задача, как для стандартных безрежимные диалоговые окна.Часть этой задачи реализуется канал коммуникации между страницей свойств modeless и внешним объектом, к которой применяются параметры свойства.Эта реализация гораздо проще при наследовании от класса CPropertySheet страницы свойств modeless.В данной статье предполагается, что делало так.
Один метод для связи между страницей свойств modeless и внешним объектом (в текущем выделенном фрагменте в представлении, например задать указатель из страницы свойств к внешнему объекту.Определите функцию (что-то, как SetMyExternalObject) в CPropertySheet- производном классе позволяет изменить указатель при изменении фокуса от одного внешнего объекта к другому.Функции SetMyExternalObject необходимо сбросить параметры для каждой страницы свойств, чтобы отразить вновь выбранный внешний объект.Для этого SetMyExternalObject функция должна иметь возможность доступа к объектам CPropertyPage, принадлежащих классу CPropertySheet.
Самый удобный способ обеспечения доступа к страницам свойств на странице свойств внедрять объекты в CPropertySheet- производный объект CPropertyPage.Внедрение объектов CPropertyPage в CPropertySheet- производный объект отличается от обычной конструкции для окон модальным, когда владелец диалогового окна страницы свойств создает объекты CPropertyPage и передает их на страницу свойств с помощью CPropertySheet::AddPage.
Существует много способов интерфейса пользователя для указания, когда параметры страницы свойств modeless должны быть применены к внешнему объекту.Один вариант применить параметры текущей страницы свойств, когда пользователь изменяет любое значение.Другой вариант предоставить кнопку применить, которая позволяет пользователю накапливаться до фиксации изменения на страницах свойств они к внешнему объекту.Дополнительные сведения о способах обработки кнопку применить см. в статье Обработка кнопку применить.