Элементы управления ActiveX в MFC. Добавление дополнительной страницы пользовательских свойств
Иногда элемент управления ActiveX имеет несколько свойств, чем может достаточно адаптация на одну страницу свойств. В этом случае можно добавить страницы свойств для элемента управления ActiveX для отображения этих свойств.
Этот раздел описывает добавлять новые страницы свойств для элемента управления ActiveX, которая уже содержит по крайней мере одну страницу свойств. Дополнительные сведения о добавлении страницы стандартных свойств (на рисунке шрифт и цвет) см. в разделе Элементы управления ActiveX MFC. С помощью страницы стандартных свойств статьи.
Следующие процедуры используют платформу элемент управления ActiveX, созданную с помощью мастера элементов управления ActiveX. Поэтому имена классов и идентификаторы уникальны для этого примера.
Дополнительные сведения об использовании страниц свойств в элемент управления ActiveX см. в следующих статьях.
Элементы управления ActiveX MFC. С помощью страницы стандартных свойств
Примечание
Настоятельно рекомендуется использовать новые страницы свойств удовлетворяющие стандарту размера для страниц свойств для элементов управления ActiveX.Страницы свойств фигуры и цвета биржевой отображают единица диалогового окна 250x62 (ЕДИНИЦА).Страница свойств стандартного шрифта 250x110 DLU.Страница свойств по умолчанию, созданную с помощью мастера элементов управления ActiveX используется стандартный 250x62 ЕДИНИЦА.
Вставить новый шаблон страницы свойств в проект
С проектом элемента управления открытым, откройте представление ресурсов в рабочей области проекта.
Щелкните правой кнопкой мыши в представлении ресурсов, чтобы открыть контекстное меню, и выберите пункт Добавить ресурс.
Разверните узел Диалоговое окно, и выделите IDD_OLE_PROPPAGE_SMALL.
Нажмите New, чтобы добавить ресурс в проект.
Выделите новый шаблон страницы свойств для обновления окно свойств.
Введите новое значение свойства Идентификатор. В этом примере используется IDD_PROPPAGE_NEWPAGE.
Щелкните значок Сохранить на панели инструментов.
Связывание нового шаблона с классом
Откройте представление классов.
Щелкните правой кнопкой мыши в представлении классов, чтобы открыть контекстное меню.
Выберите в контекстном меню команду Добавить, а затем Добавить класс.
Это открывает диалоговое окно Добавление класса.
Дважды щелкните шаблон Класс MFC.
В поле Имя класса в Мастер классов MFC, введите имя для нового класса диалогового окна. (В этом примере, CAddtlPropPage).
Если требуется изменить имена файлов, щелкните Изменить. Введите имена в реализации и файлов заголовков или примите имя по умолчанию.
В поле Базовый класс , выберите COlePropertyPage.
В поле Идентификатор диалогового окна , выберите IDD_PROPPAGE_NEWPAGE.
Нажмите кнопку Готово , чтобы создать класс.
Чтобы разрешить доступ пользователя элемента управления этой новой странице свойств, внесите следующие изменения в раздел макроса идентификатор страницы свойств элемента управления (расположенному в файле реализации элемента управления).
BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
PROPPAGEID(CMyAxUIPropPage::guid)
PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)
Обратите внимание, что необходимо увеличить второй параметр макроса BEGIN_PROPPAGEIDS (число) страницы свойств в диапазоне от 1 до 2.
Необходимо также изменить файл файла реализации (CPP) для включения заголовок (. Файл H) класса страницы свойств.
Следующий шаг 2 включает в себя создание новых строкового ресурса, обеспечат имя типа и заголовок новой страницы свойств.
Добавить строковые ресурсы на страницу свойств
С проектом элемента управления открытым, откройте представление ресурсов.
Дважды щелкните папку Таблица строк и дважды щелкните существующий ресурс строк таблицы, в которую требуется добавить строку.
Это открытия таблицы строк в окне.
Выделите незаполненная в конец таблицы строк и введите текст или заголовок, строки: например, «дополнительная страница свойств».
Это открывает страницу Строковые свойства, Заголовок и Идентификатор окна. Поле Заголовок содержит строку вводе.
В окне Идентификатор выберите или введите идентификатор для строки. Нажмите клавишу ВВОД после завершения.
Этот пример использует IDS_SAMPLE_ADDPAGE для имени типа новой страницы свойств.
Повторяющийся шаги 3 и 4 с помощью IDS_SAMPLE_ADDPPG_CAPTION для идентификатора и дополнительной «страницы свойств» для заголовка.
В cpp-файле нового класса страницы свойств (в этом примере, CAddtlPropPage) измените CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry таким образом, чтобы IDS_SAMPLE_ADDPAGE будет передан AfxOleRegisterPropertyPageClass, как показано в следующем примере:
BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister) { if (bRegister) return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(), m_clsid, IDS_SAMPLE_ADDPAGE); else return AfxOleUnregisterClass(m_clsid, NULL); }
Измените конструктор CAddtlPropPage, чтобы IDS_SAMPLE_ADDPPG_CAPTION будет передается конструктору COlePropertyPage следующим образом:
CAddtlPropPage::CAddtlPropPage() : COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION) { }
После того как были сделаны необходимые перестроением изменений проекта и использовать тестовый контейнер для выполнения новой страницы свойств. Сведения о доступе к тестовому контейнеру см. в разделе Тестирование свойств и событий при помощи тестового контейнера.