Шаг 205.
Среда программирования Visual C++.
Создание страницы свойств. Страница специальных свойств

    На этом шаге мы рассмотрим создание страницы специальных свойств.

    По завершении реализации интерфейса ActiveX-элемента стоит заняться созданием страниц свойств, на которых пользователи смогут просматривать и устанавливать параметры ActiveX-элемента. В каркасе имеется ряд макросов PROPPAGEID, позволяющих определять массив идентификаторов страниц свойств для элемента управления. Код по умолчанию, созданный мастером ActiveX ControlWizard проекта OneArmedBandit, находится в файле OneArmedBanditCtl.cpp и выглядит так:

BEGIN_PROPPAGEIDS(COneArmedBanditCtrl, 1)
	PROPPAGEID(COneArmedBanditPropPage::guid)
END_PROPPAGEIDS(COneArmedBanditCtrl)

    Обратите внимание, что эта структура, в отличие от диспетчерской карты и карты событий, не поддерживается ClassWizard. Данный код вы должны написать самостоятельно.

Страница специальных свойств

    В приведенном выше коде единственная запись PROPPAGEID в таблице относится к заданной по умолчанию странице, созданной для элемента управления. ActiveX ControlWizard создает шаблон диалогового окна и класс диалога (на базе класса COlePropertyPage), которые Вы можете отредактировать и откомпилировать, чтобы со здать страницу свойств, предоставляющую доступ к специальным свойствам Вашего элемента.

    Сейчас мы создадим страницу свойств, на которой пользователь сможет задавать значение специального свойства NumberOfSymbols.

    Посмотрите на текст функции DoDataExchange() класса СOneArmedBanditPropPage. Обратите внимание, что в дополнение к DDX/DDV-функциям ClassWizard добавил следующую строку:

  DDP_Text(pDX, IDC_NUMSYMBOLS, m_numsymbols, _T("NumberOfSymbols") );

    Это одна из ряда функций с префиксом DDP_, предоставляемых MFC для обмена данными между страницей свойств и самими свойствами ActiveX-элемента. Обратите внимание, что здесь используется диспетчерское имя свойства, так что Вам не придется писать код лдя создания дополнительных связей между классами COneArmedBanditPropPage и COneArmedBanditCtrl.

    Текст приложения можно взять здесь (34,3 Кб).

    На следующем шаге мы рассмотрим страницу стандартных свойств.




Предыдущий шаг Содержание Следующий шаг