在mfc对话框中添加一个显示网页的窗口

26 篇文章 2 订阅

现在只能实现在对话框内显示一个网页文件,,但如果点击网页文件中的某个链接的话,,却还是在IE中进行打开的,,正在想如何始终在该对话框内完成。。


希望各位大神能指点。。


这个要用到 ActiveX 控件了,向对话框里面插入一个 WebBrowser控件,之后使用就可以了!
=============================
利用WebBrowser控件创建自己的浏览器
①新建一个基于对话框的工程,命名为test,然后在对话框上单击右键,选择
Insert ActiveX Control…在弹出的对话框中选择MicroSoft Web浏览器,点击OK。
此时对话框上已经出现了WebBrowser控件,调整它的大小以适合对话框的大小。

②选择WebBrowser控件,点击View/ClassWizard,选择Member Variables,单击
Add Variable按钮,此时会弹出两个对话框,均点击确定即可。然后给该控件加
入一个变量,我们把它命名为m_ctrlWeb。

③在ClassWizard中选择OnInitDialog()函数,在里面加入如下代码:

m_ctrlWeb.Navigate("http://www.baidu.com", NULL, NULL, NULL, NULL);

第一个参数即你要浏览的URL地址,可以是一个文件,也可以是一个地址
(如:http://www.baidu.com)

而如果想要禁止在新窗口打开,则需要添加控件事件处理函数NewWindow3()添加如下函数

void C网页Dlg::NewWindow3Explorer1(LPDISPATCH* ppDisp, BOOL* Cancel, unsigned long dwFlags, LPCTSTR bstrUrlContext, LPCTSTR bstrUrl)
{
	// TODO: 在此处添加消息处理程序代码
	* Cancel = TRUE;
	VARIANT vInfo;
	m_webBrowser.Navigate(bstrUrl, &vInfo, &vInfo, &vInfo, &vInfo);
}
如在新窗口中打开链接和在新标签中打开链接是两个不同的事件(NewWindow2,NewWindow3)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值