MFC的DLL库工程中使用CWebBrowser2控件

我在MFC的DLL工程中的一个dialog对话框中添加、调用CWebBrowser2的active控件时,发现动态创建dialog界面时一直会导致崩溃,dialog一直创建失败会,BOOL bCreate =  m_mapDlg->Create(CMapDlg::IDD,this);  此调用会一直返回0。始终没找到原因,后来发现是我的工程在创建工程向导时,没有添加active控件支持导致的。

 

 

总结:

1.要想把控件或者窗体作为容器显示OCX控件,必须在得在C...APP::InitInstance()函数中自动加了这一句调用

AfxEnableControlContainer();

 

 2.一般用向导建立的工程会自动添加AfxEnableControlContainer();

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MFC(Microsoft Foundation Class)是一种基于 Windows 的 C++ 类,用于开发 Windows 应用程序。在 MFC ,Active 控件是一种可以在对话框或窗口嵌入的可交互控件,例如 Web 浏览器、媒体播放器等。在 MFC 添加 Active 控件非常简单,以下是一个示例: 1. 打开 Visual Studio 并创建一个 MFC 对话框应用程序。 2. 在对话框添加一个 ActiveX 控件。右键单击对话框并选择“添加 ActiveX 控件”。 3. 在“添加 ActiveX 控件向导”选择您想要添加的控件,例如“Microsoft Web Browser”。 4. 在“添加 ActiveX 控件向导”选择“支持 ActiveX 控件的属性页”并单击“完成”按钮。这将为您生成控件的类。 5. 在对话框的头文件添加控件的成员变量。例如,在添加 Microsoft Web Browser 控件后,您可以将以下代码添加到您的对话框类: ```cpp class CMyDialog : public CDialogEx { // ... public: CWebBrowser2 m_WebBrowser; // 成员变量 }; ``` 6. 在对话框的 OnInitDialog 函数初始化控件。例如: ```cpp BOOL CMyDialog::OnInitDialog() { CDialogEx::OnInitDialog(); // 初始化 Web Browser 控件 m_WebBrowser.Create(_T("Shell.Explorer.2"), WS_VISIBLE, CRect(0, 0, 0, 0), this, IDC_WEB_BROWSER); m_WebBrowser.Navigate(_T("https://www.baidu.com")); return TRUE; } ``` 7. 运行应用程序并查看效果。 以上是在 MFC 添加 Active 控件的基本步骤。根据您选择的控件和应用程序的需求,您可能需要进一步配置和自定义控件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值