我有一个自己编写的控件,其中有几个属性,需要根据系统的属性来自我调整,也就是需要在属性类中执行一段代码来确定这个属性有几个可以设置的值,我使用InitDialog()这个消息来处理确定这个值,默认值我设置为NULL,这段处理能正常工作,这个控件我在VC的调试ActiveX Control Test工具中测试成功,但是在其他的程序中调用这个控件时,我在属性页中设置了这个值,但是一到运行程序后,这个值就变为NULL,不知道如何处理才能做到啊
急,要分的直接说,只要能做到,在线等待...
急,要分的直接说,只要能做到,在线等待...
IPersistStreamInitImpl,IPersistStorageImpl,IPersistPropertyBagImpl,ISpecifyPropertyPagesImpl
添加属性映射,例如:
BEGIN_PROP_MAP(CEditEx)
PROP_DATA_ENTRY("_cx", m_sizeExtent.cx, VT_UI4)
PROP_DATA_ENTRY("_cy", m_sizeExtent.cy, VT_UI4)
PROP_ENTRY("Appearance", DISPID_APPEARANCE, CLSID_NULL)
PROP_ENTRY("BackColor", DISPID_BACKCOLOR, CLSID_StockColorPage)
PROP_ENTRY("BorderStyle", DISPID_BORDERSTYLE, CLSID_NULL)
PROP_ENTRY("BorderVisible", DISPID_BORDERVISIBLE, CLSID_NULL)
PROP_ENTRY("Caption", DISPID_CAPTION, CLSID_EditGeneralPg)
PROP_ENTRY("Font", DISPID_FONT, CLSID_StockFontPage)
PROP_ENTRY("ForeColor", DISPID_FORECOLOR, CLSID_StockColorPage)
PROP_ENTRY("Text", DISPID_TEXT, CLSID_EditGeneralPg)
END_PROP_MAP()