因为项目中要求将多个窗口写入一个ocx,那么不同功能就要调用不同的界面(实时视频/录像回放/...)
这就需要对同一个OCX进行多次实例化,那问题就来了,每次实例化需要不同的初始化界面...
解决:1.首先为ocx添加一个属性:


此时,属性名称为StartScreen,同时在***Ctrl.cpp中添加了一个成员变量:m_StartScreen;
2.在DoPropExchange函数中添加如下:
void CVMC_OCXCtrl::DoPropExchange(CPropExchange* pPX)
{
ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
COleControl::DoPropExchange(pPX);
if (pPX->GetVersion() == (DWORD)MAKELONG(_wVerMinor, _wVerMajor))
{
&

本文介绍了如何解决在同一项目中多次实例化OCX控件时加载不同初始化界面的问题。通过添加属性StartScreen,在DoPropExchange函数中处理属性交换,并在HTML页面中设置PARAM标签的VALUE值,根据需求实例化时加载不同界面。
最低0.47元/天 解锁文章
2349

被折叠的 条评论
为什么被折叠?



