描述:
用向导生成了1个简单的ActiveX控件,用类向导为控件添加了2个属性,一个是库存属性“ForeColor”,一个是自定义属性“LineWidth”。
现在的问题有:
1,在VC的ActiveX控件测试容器中,可以通过属性页设置LineWidth的值,但找不到ForeColor的设置界面。库存属性不会自动添加属性页吗?
2,在网页中,通过param传递参数,无论是那个属性,都没反应。
<html>
<head>
<title>ActiveX控件测试</title>
</head>
<body>
<object width="400" height="300" classid="clsid:A48C592B-6856-4C01-90B8-75B8155F5877">
<param name="ForeColor" value="red">
<param name="LineWidth" value="5">
</object>
</body>
<html>
请问如何解决上述问题??IE的本地安全设置,已经改为最低。。。
解决方案1:
也许应该是这个
<object ... style="color:red;">
呃 我一般都是在onload事件中给对象赋值的。
解决方案3: 在DoPropExchange中加入代码,实现属性的持久性(否则初始化控件时传入的属性值将被抛弃)。
void CMyActiveXCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);
// TODO: Call PX_ functions for each persistent custom property.
PX_String(pPX,_T("ForeColor"),m_sForeColor,_T("red"));
PX_Int(pPX,_T("LineWidth"),m_nLineWidth,5));
}