比如我的一个ActiveX控件的指针颜色被我设置成红色的
怎样保存它的属性,使得我再打开时,他的属性还是红色的?

解决方案 »

  1.   

    void CXXXXCtrl::DoPropExchange(CPropExchange* pPX)
    {
    ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
    COleControl::DoPropExchange(pPX); // TODO: Call PX_ functions for each persistent custom property.
    PX_Color(pPX, "BackColor", m_backColor, RGB(0x27, 0x27, 0x27));
    PX_Color(pPX, "ForeColor", m_foreColor, RGB(0xff, 0xff, 0xff));
    PX_Color(pPX, "AxisColor", m_axisColor, RGB(0, 0xff, 0x80));
    PX_Color(pPX, "GridColor", m_gridColor, RGB(0xa0, 0xa0, 0xa0));
    PX_Bool(pPX, "bShowGrid", m_bShowGrid, TRUE);
    PX_Float(pPX, "BeginValue", m_beginValue, 50.0f);
    PX_Bool(pPX, "bShowNode", m_bShowNode, TRUE);
    }具体应用查看MSDN中的PX_XXXX宏。
      

  2.   

    可是我的ActiveX是动态添加的,事先没法确定它有哪些属性阿
      

  3.   

    http://msdn.microsoft.com/workshop/components/com/store_persist.asp
    http://www.microsoft.com/mind/1096/activex/activex.asp