Добавление пользовательского свойства цвета.
Для добавления свойства цвета фигуры в невыбранном состоянии выполните следующие действия.
1.
Выберите в меню View пункт ClassWizard.
2. Выберите в открывшемся диалоге закладку Automation.
3. В выпадающем списке Class Name выберите класс CMyCtrlCtrl (рис. 8).
4. Щелкните кнопку Add Property. Появится диалог Add Property (рис. 9).
5. Введите имя свойства SelectColor в поле External Name, установите тип свойства OLE_COLOR, выберите переключатель Get/Set methods для того, чтобы это свойство было доступным для управления из контейнера.
6. Добавьте переменную типа OLE_COLOR в файл MyCtrlCtrl.h.
7. Добавьте строку
PX_Long(pPX, _T("SelectColor"), (long&) m_selectColor, RGB(255,0,0));
в функцию void CMyCtrlCtrl::DoPropExchange(CPropExchange* pPX):
void CMyCtrlCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);
PX_Short(pPX, _T("Shape"), m_nShape, 0);
PX_Long(pPX, _T("SelectColor"), (long&) m_selectColor, RGB(255,0,0));
}
8. Внесите изменения в методы GetSelectColor() и SetSelectColor():
OLE_COLOR CMyCtrlCtrl::GetSelectColor()
{
return m_selectColor;
}
void CMyCtrlCtrl::SetSelectColor(OLE_COLOR nNewValue)
{
m_selectColor = nNewValue;
SetModifiedFlag();
InvalidateControl();
}