描述:
我自己做了一个控件,嵌入到网页中,我想在<object...><para ...></para></object>里面绑定属性,应该怎么做?我给控件定义了属性,我程序取那个值总是空值。
解决方案1:
更正:
<body bgcolor=#EAF2FF />
<object CLASSID="clsid:D4829924-60E7-43B3-9EC6-AE1DDD3C4EC3" ID="zhong">
<param name="nIcelightProp" value=67></param>
</object>
<script>
function Launch()
{
alert(zhong.nIcelightProp);
}
</script>
icelight原创
用param标签初始化ActiveX控件 作者icelight
一。为控件CYourObject建一个属性,例如nIcelightProp。要勾选put function。
二。为属性添加映射:
BEGIN_PROP_MAP( CYourObject )
PROP_ENTRY( "nIcelightProp", 7, CLSID_NULL )
END_PROP_MAP()
//PROP_ENTRY()第二个参数的值是是属性nIcelightProp的ID值,该值可在IDL文件中查到。
三。为你的控件添加父类IPersistPropertyBagImpl
class ATL_NO_VTABLE CYourObject :
public IPersistPropertyBagImpl<CYourObject>
四。为永久化添加映射:
BEGIN_COM_MAP(CYourObject)
COM_INTERFACE_ENTRY(IPersistPropertyBag)
END_COM_MAP()
五。用HTML测试一下:
<body bgcolor=#EAF2FF />
<object CLASSID="clsid:D4829924-60E7-43B3-9EC6-AE1DDD3C4EC3" ID="zhong">
<param name="nLocalPort" value=67></param>
</object>
<script>
function Launch()
{
alert(zhong.nIcelightProp);
}
</script>
Make yourself understood.
///<param name="name" value="2699"> 这么一个参数,在控件里面应该怎么写?
What do you mean?
You want to set attributes in Activex control or in html page?
</object>
解决方案5: <object id=DWebOffice style="left: 0px; width: 100%; top: 0px; height: 450px;" classid="clsid:05430EC0-69CA-437A-B1F9-4B78B8647BEA" viewastext codebase="http://10.70.38.10:9001/ActiveX/WebOffice.cab#version=1,0,0,3">
<param name="_Version" value="65536">
<param name="_ExtentX" value="6959">
<param name="_ExtentY" value="2699">