VC中调用第三方ActiveX控件,如何在Create时设置 param

fly4free 2016-06-13 04:34:22
那个第三方ActiveX的网页调用示例:
<OBJECT ID="ThirdPartyCtl" CLASSID="CLSID:00000000-CC0D-44C9-8CFC-D63077BD683C">
<PARAM NAME="xxx" VALUE="yyyy">
</OBJECT>

我在MFC对话框中 添加“ActiveX中的MFC类”

由于这个控件需要license id ,在html页面中,可以通过 <param> 结点设置
但我再VC中直接创建,我不知道如何设置 <param> 就会弹出各种提示,就是告诉你,你需要设置license id

bSuccess = m_ctrl.Create(_T("XXXControl"), WS_CHILD|WS_VISIBLE, rect, this, 333);
这句无论如何,都会弹出那个框

如果我在这之前调用:m_ctrl.put_licenseid("xxxx");
很显然,COM对象都没创建好,肯定崩溃。

虽然Create成功后,我再调用 put_licenseid 是没问题的,后续调用其他接口方法也正常了,但是开始时候的提示框没办法去掉啊,这是第三方控件啊

各位,有知道如何做的码?
...全文
346 13 打赏 收藏 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-06-14
  • 打赏
  • 举报
回复
在MSDN里面搜“COM Tutorial Samples”
redui 2016-06-14
  • 打赏
  • 举报
回复
引用 10 楼 fly4free 的回复:
[quote=引用 9 楼 zhao4zhong1 的回复:] 在MSDN里面搜“COM Tutorial Samples”
你这个是VC6时代的吧,看你再很久之前的某个帖子里提过,需要什么MSDN98吧 ,暂时没有唉。 不过貌似整出来了—— 我先摆一个 STATIC 控件,添加控件变量 m_axContainer, 然后 CoCreateInstance 得到接口指针 pMyCtrl,然后 pMyCtrl->put_Copyright(licKey); hr = AtlAxAttachControl(pMyCtrl, m_axContainer.GetSafeHwnd(), &pUnkContainer); 这样看起来就好使了,只是不知道 带回的指针 pUnkContainer 有什么用处。。[/quote] 某些人喜欢创建好控件后对容器接口做些啥,最后的pUnkContainer就是给你返回容器接口,如果你不用,可以不理。当然不是真的不理,这个接口指针还得Release掉
赵4老师 2016-06-14
  • 打赏
  • 举报
回复
时代不同了,男女还一样!
赵4老师 2016-06-14
  • 打赏
  • 举报
回复
fly4free 2016-06-14
  • 打赏
  • 举报
回复
引用 9 楼 zhao4zhong1 的回复:
在MSDN里面搜“COM Tutorial Samples”
你这个是VC6时代的吧,看你再很久之前的某个帖子里提过,需要什么MSDN98吧 ,暂时没有唉。 不过貌似整出来了—— 我先摆一个 STATIC 控件,添加控件变量 m_axContainer, 然后 CoCreateInstance 得到接口指针 pMyCtrl,然后 pMyCtrl->put_Copyright(licKey); hr = AtlAxAttachControl(pMyCtrl, m_axContainer.GetSafeHwnd(), &pUnkContainer); 这样看起来就好使了,只是不知道 带回的指针 pUnkContainer 有什么用处。。
fly4free 2016-06-13
  • 打赏
  • 举报
回复
引用 7 楼 redui 的回复:
CoCreateInstance自己创建控件接口; 设置接口属性;<-- 这个就是你要做的 让你的窗口去AttachControl这个接口,而不是CreateControl,否则你的控件木有机会执行自定义初始化
AttachControl ?这个哪个接口的方法?难道我要再做一个包装控件?“”我的窗口“”就是MFC对话框啊 这层内容看不懂啊,网上哪有例子/Hello world 教程?这实在太底层了,实在不懂啊
redui 2016-06-13
  • 打赏
  • 举报
回复
CoCreateInstance自己创建控件接口; 设置接口属性;<-- 这个就是你要做的 让你的窗口去AttachControl这个接口,而不是CreateControl,否则你的控件木有机会执行自定义初始化
Saleayas 2016-06-13
  • 打赏
  • 举报
回复
看错了,你的不是 license,而是一个参数。 你试试使用 CoCreateInstance 来创建试试。
fly4free 2016-06-13
  • 打赏
  • 举报
回复
现在发现个问题,在我VS里,该控件可以加到对话框中,不过看不了属性页,一看 VS 就崩溃 所以只能用动态创建的方式,难道没有方法吗?
fly4free 2016-06-13
  • 打赏
  • 举报
回复
引用 3 楼 Saleayas 的回复:
不是应该使用 CreateControl 来创建吗? 如果需要授权 Key,那么应该 bstrLicKey Optional license key data. This data is needed only for creating controls that require a run-time license key. If the control supports licensing, you must provide a license key for the creation of the control to succeed. The default value is NULL.
我之前没用过有license的控件,不知道一般都用啥初始化授权key,不过现在这个是通过 param name 设置的 <PARAM NAME="licenseid" VALUE="xxx"> 创建对象过程中就赋值了。。 而且我用了 CreateControl ,最后三个参数传递的是:NULL, FALSE, licKey (行吗?) 结果调用失败,返回FALSE,并且输出窗口显示: CoCreateInstance of OLE control {xxx-xx-x} failed. >>> Result code: 0x80040154 >>> Is the control is properly registered?
Saleayas 2016-06-13
  • 打赏
  • 举报
回复
不是应该使用 CreateControl 来创建吗? 如果需要授权 Key,那么应该 bstrLicKey Optional license key data. This data is needed only for creating controls that require a run-time license key. If the control supports licensing, you must provide a license key for the creation of the control to succeed. The default value is NULL.
fly4free 2016-06-13
  • 打赏
  • 举报
回复
引用 1 楼 homesos 的回复:
将控件拖到界面上,直接在控件属性里设置。
除了此方式,没别的办法了吗?我想用动态创建的方式啊
homesos 2016-06-13
  • 打赏
  • 举报
回复
将控件拖到界面上,直接在控件属性里设置。
内容概要:本文介绍了COSO企业风险管理框架,阐述了企业风险管理的定义、目标、构成要素及其与内部控制的关系。文章指出,企业风险管理是一个由董事会、管理层及其他人员实施的,应用于战略制定并贯穿于企业之中的过程,旨在识别可能影响主体的潜在事项,管理风险以使其在该主体的风险容量之内,并为主体目标的实现提供合理保证。该框架强调了企业风险管理的八大构成要素:内部环境、目标设定、事项识别、风险评估、风险应对、控制活动、信息与沟通、监控。此外,文章还讨论了企业风险管理的局限性,如人为判断失误、成本与效益的权衡、管理层凌驾等。 适合人群:具备一定管理学基础知识,对风险管理有兴趣的学者、企业管理人员、内部审计师及外部审计师。 使用场景及目标:①帮助组织理解并应用企业风险管理框架,以提高组织的风险管理水平;②指导企业如何通过有效的风险管理来实现其战略、经营、报告和合规目标;③为企业提供一套标准化的风险管理语言,促进内外部沟通与合作。 阅读建议:读者应结合实际案例,深入理解每个构成要素的具体应用,同时关注企业风险管理的局限性,以全面把握企业风险管理的本质。此外,建议定期回顾和更新风险管理策略,以适应不断变化的内外部环境。

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧