ATL下如何添加属性包
属性包: ActiveX增加对插件属性的支持后, 使其能在网页中通过OBJECT属性, 在控件初始化前将参数传入.
A. 在类中加入继承 public IPersistPropertyBagImpl<CXXX>, 并添加响应的接口映射, 如下;
B. 为Composite控件接口添加属性. 在WorkSpace中, 右击接口名, 选择"Add property"后, 在property中分别添入参数类型(BSTR)和属性名(Name)即可.
*你可以通过双击接口,在接口定义中看到dispid.如下:id(6)
C. 定义一个成员变量,用来存放传入的参数.CComBSTR m_bstrValue;在你定义的属性中,(加入如下黑体的行)用以保存传进来的参数值.
D. 网页的交互为,如果控件有窗口的话.(这些交互在ActiveX对话框的初始化前就进行了)
注: 对于Simple Object的ATL在加入属性包接口和接口映射后,需要定义一个共有的成员变量:bool m_bRequiresSave; m_bRequiresSave=false;