vc++ ocx中添加自定义参数
虽然ocx已经过时,现在还是有很多网页使用ocx技术。加载ocx时就会遇到需要提前输入自定义参数的问题,譬如:要连接的服务器的IP地址,数据库的地址,比对ocx版本之类的,这样就需要在加载ocx时输入参数,现将自己研究的内容记录下来,给其他人一些参考,如有不对的地方,还请告诉我,大家一起交流进步。
1.在图1中添加 test1 的成员变量
2.单击完成之后,会在idl中生成响应的属性,同时自动生成响应的成员变量。
3.对属性做持久化,就是在Ctrl文件中DoPropExchange方法调用 PX_方法:
void CocxCustomparamCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);
// TODO: Call PX_ functions for each persistent custom property.
PX_String( pPX, L”test1″, m_test1, L”0″ );
}
4.在VS2010的菜单项:project-Class Wizard中,选择 给Ctrl类添加OnCreate方法,在OnCreate中添加 MessageBox( m_test1 );
5.在html中给该属性值进行赋值,测试:
<code>
<HTML>
<HEAD>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<meta http-equiv=”Pragma” content=”no-cache”>
<title>Activex Demo</title>
<script type=”text/javascript”>
function test()
{
document.getElementById(“ocxCustomparam”).AboutBox();
}
</script>
</HEAD>
<BODY>
<TABLE cellSpacing=3 cellPadding=3 bgcolor=”#DCE0EC” align=center style=”border:2px dashed #666666″>
<TR>
<TD width=400 height=300>
<OBJECT ID=”ocxCustomparam” name=”ocxCustomparam” CLASSID=”CLSID:1895397C-D798-4353-AC1D-733CB26C1B5C” events=”true” HEIGHT=800 WIDTH=1200 align=”top”>
<PARAM NAME=”test1″ VALUE=”IamTest1″ />
</OBJECT>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
</code>
扫描下方二维码,关注业余草微信公众号,回复“FFmpeg”关键词,获取 FFmpeg 视频教程!