Визуальное программирование и MFC



         

Корректировка страниц свойств - часть 2


Эти страницы управляют базовыми свойствами, связанными с цветами (страница Colors), с изображениями (страница Pictures), с шрифтами (страница Fonts). Как и любые другие OLE-объекты, страницы базовых свойств имеют собственные CLSID, используемые библиотеками OLE для их идентификации: CLSID_CColorPropPage, CLSID_CPicturePropPage, CLSID_CFontPropPage.

Преимущество страниц базовых свойств заключается в их “интеллектуальности”. Они реализованы так, чтобы самостоятельно находить в библиотеке типов элемента управления информацию о свойствах интересующего их типа. Например, страница Colors ищет свойства с типом OLE_COLOR и автоматически предоставляет доступ к этим свойствам.

Единственный недостаток страниц базовых свойств заключается в том, что их реализацию нельзя изменить. Для этого нужно создавать полностью новую страницу.

Все остальные страницы свойств элемента управления являются пользовательскими. Они разрабатываются точно так же, как и любые диалоговые окна. Создание страниц свойств заключается в добавлении дочерних элементов управления к шаблону диалогового окна.

При проектировании следует помнить, что страницы свойств: не имеют заголовков; по умолчанию невидимы; не имеют границ; являются дочерними окнами. Следует убедиться, что соответствующие опции в редакторе ресурсов были установлены правильно.

Добавление страниц базовых свойств

Рассмотрим, как добавить в создаваемый элемент управления страницу базовых свойств Colors. Чтобы написать код, который добавляет базовую страницу свойств (Colors) к элементу управления, необходимо выполнить следующие инструкции: найти и модифицировать таблицу следующим образом:

BEGIN_PROPPAGEIDS(CNameCtrl, 2) PROPPAGEID(CNamePropPage::guid) PROPPAGEID(CLSID_CColorPropPage) END_PROPPAGEIDS(CNameCtrl)

Добавление и корректировка пользовательских страниц

Для создания новой пользовательской страницы необходимо создать диалоговую панель (отвечающую ранее перечисленным требованиям) и подключить к ней новый класс, реализующий ее работу.


Содержание  Назад  Вперед