Реализация страниц свойств
Мастер страницы свойств в ATL недоступен в Visual Studio 2019 и более поздних версиях.
Страницы свойств — это COM-объекты, которые реализуют интерфейс IPropertyPage
или IPropertyPage2
. Библиотека ATL обеспечивает поддержку реализации страниц свойств с помощью Мастера страниц свойств ATL в диалоговом окне Диалоговое окно "Добавление класса".
Выполните следующие действия, чтобы создать страницу свойств с помощью ATL.
Создайте или откройте проект сервера библиотеки динамической компоновки (DLL) ATL.
Откройте Диалоговое окно "Добавление класса" и выберите Страница свойств ATL.
Убедитесь, что на странице свойств есть подразделение потока (поскольку она имеет пользовательский интерфейс).
Задайте заголовок, описание (строку документа) и файл справки, которые будут связаны с вашей страницей.
Добавьте элементы управления в сгенерированный ресурс диалога, чтобы он действовал как пользовательский интерфейс вашей страницы свойств.
Реагируйте на изменения в пользовательском интерфейсе вашей страницы, чтобы выполнить проверку, обновить сайт или обновить объекты, связанные с вашей страницей. В частности, вызовите IPropertyPageImpl::SetDirty, когда пользователь вносит изменения в страницу свойств.
При необходимости можно переопределить методы
IPropertyPageImpl
, используя приведенные ниже рекомендации.Метод IPropertyPageImpl Переопределите, если вы хотите... Примечания. SetObjects Выполните базовые проверки работоспособности на количество объектов, передаваемых на вашу страницу, и интерфейсов, которые они поддерживают. Выполните собственный код перед вызовом реализации базового класса. Если устанавливаемые объекты не соответствуют вашим ожиданиям, следует как можно скорее отказаться от вызова. Активировать Инициализируйте пользовательский интерфейс вашей страницы (например, установите диалоговые элементы управления с текущими значениями свойств из объектов, динамически создайте элементы управления или выполните другие инициализации). Вызовите реализацию базового класса перед вашим кодом, чтобы у базового класса была возможность создать диалоговое окно и все элементы управления перед их обновлением. Применить Проверьте параметры свойства и обновите объекты. Нет необходимости вызывать реализацию базового класса, так как он ничего не делает, кроме отслеживания вызова. Деактивировать Очистите связанные с окном элементы. Реализация базового класса удаляет диалоговое окно, представляющее страницу свойств. Если вам нужна очистка перед удалением диалогового окна, следует добавить свой код перед вызовом базового класса.
Пример реализации страницы свойств см. в примере : реализация страницы свойств.
Примечание.
Если вы хотите разместить элементы управления ActiveX на своей странице свойств, нужно изменить происхождение созданного мастером класса. Замените CDialogImpl CYourClass на CAxDialogImpl<<CYourClass>> в списке базовых классов.