当前位置: 代码迷 >> 综合 >> VS2015 MFC DLL对话框内调用ActiveX控件
  详细解决方案

VS2015 MFC DLL对话框内调用ActiveX控件

热度:53   发布时间:2023-11-24 19:44:10.0

在我的其它博客中,介绍了mfc dll如何调用模式对话框与非模式对话框的实现过程。接下来介绍在mfc dll中如果包含有ActiveX控件该如何调用了。
我们还是在mfc dll的对话框里添加一个ActiveX控件,例如添加一个webbrowser控件,设置控件默认加载的网页。
在这里插入图片描述
在这里插入图片描述
然后我们生成这个mfc dll动态库,然后调用。
在调用的时候发现无法弹出mfc dll里的这个对话框。
在这里插入图片描述
这是因为mfc dll与mfc acitvex在创建对话框时,如果对话框里包含ActiveX控件,需要设置几行代码。回到mfc dll的工程里,在MFC_dll.cpp的初始化函数InitInstance()中添加如下代码:
在这里插入图片描述

	//下面这些代码为添加对mfc dll中子对话框里ActiveX控件的支持AfxEnableControlContainer();if (!AfxOleInit()){return FALSE;}//初始化控件环境AfxEnableControlContainer();CoInitialize(NULL);

然后重新生成mfc dll动态库,接着在调用工程里进行调用。这次就可以成功显示mfc dll动态库对话框里webbrowser控件里的网页了。
在这里插入图片描述

  相关解决方案