MFC对话框中的ocx不显示

cometicstary 2013-09-09 09:19:26
最近在做一个MFC的功能,需要在自己设计的ocx里面使用其他的ocx控件,这个ocx控件是使用在对话框中的,我在对话框domodal的时候,这个ocx控件老是不能显示,程序也不报错,不知道是怎么回事,求懂的大神分析一下子,谢谢。
...全文
793 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
boylafong 2013-10-17
  • 打赏
  • 举报
回复
引用 5 楼 yanyanv 的回复:
哦,找到问题了,需要在xxxApp.cpp的InitInstance中调用AfxEnableControlContainer方法,初始化ole控件。我的问题解决了。
我刚开始自己做构件的时候也碰到这个问题,老以为是构件问题 = =!支持下
许文君 2013-10-08
  • 打赏
  • 举报
回复
要想在应用程序中使用ActiveX控件,必须使你的应用程序成为ActiveX控件包容器。ActiveX控件包容器就是完全支持ActiveX控件,并能把控件组合进自己的窗口或对话框的父应用程序。利用MFC的AppWizard,你可以很方便地创建你的包容器程序。事实上,在用AppWizard创建新的应用程序时,你的应用程序就被缺省设置为控件包容器,即在第3步选中支持ActiveX Controls的复选框。若没有选择,则在app中手动添加AfxEnableControlContainer,这样效果一样
yanyanv 2013-09-29
  • 打赏
  • 举报
回复
哦,找到问题了,需要在xxxApp.cpp的InitInstance中调用AfxEnableControlContainer方法,初始化ole控件。我的问题解决了。
yanyanv 2013-09-29
  • 打赏
  • 举报
回复
怎么初始化啊? 我也有个类似的问题:在自己写的ocx中调用另外一个ocx,另外一个ocx是在一个对话框中, 我现在在xxxxctrl.cpp的OnCreate中Create了这个对话框,但是返回值是失败的也无法显示,应该是对话框以及控件都没有初始化造成的。 可是不知道如何解决。。。
bluebaby88 2013-09-16
  • 打赏
  • 举报
回复
要初始化COM
baiyizhujian 2013-09-11
  • 打赏
  • 举报
回复
最好贴代码。
oyljerry 2013-09-11
  • 打赏
  • 举报
回复
初始化COM没

3,245

社区成员

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

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