在mfc对话框中添加一个显示网页的窗口
2012-11-26 11:21
477 查看
现在只能实现在对话框内显示一个网页文件,,但如果点击网页文件中的某个链接的话,,却还是在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)
希望各位大神能指点。。
这个要用到 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)
相关文章推荐
- 如何在mfc对话框中添加一个显示网页的窗口
- 如何在mfc对话框中添加一个显示网页的窗口 .
- MFC在对话框中添加了一个richedit控件,窗口就不显示了。
- MFC(3) 对话框里面添加一个网页浏览窗口
- MFC入门学习之控件(2)创建一个对话框窗口并在运行时显示
- MFC对话框程序添加状态栏动态显示时间,随窗口大小变化
- MFC中新添一个对话框后怎么在主窗口中显示
- MFC学习第八节:在数据库的数据在窗口中显示(显示一个学生时)
- VS2010给对话框上添加浏览器显示网页
- MFC对话框应用程序 如何在对话框窗口显示前获取窗口(控件)的屏幕坐标位置
- 在MFC对话框中显示另外一个应用程序窗体
- 基于对话框的程序,在主窗口显示后再弹出一个对话框
- vs2013环境下mfc里添加浮动窗口并贴上对话框
- 关于MFC中添加对话框类后类视图(class view)无显示
- VC 常见问题百问~确定应用程序的路径~~如何在对话框中显示一个位图?~~窗口重绘
- 正确的方法去拦截OnNewWindow2实现在同一个窗口显示_target的网页
- 正确的方法去拦截OnNewWindow2实现在同一个窗口显示_target的网页
- 给基于对话框的MFC程序添加状态栏并实时显示时间
- mfc中怎样在一个基于对话框程序中添加菜单栏
- 关于VC6中基于对话框的程序,往Combox 添加一个CComboBox变量,然后程序编译运行,窗口不出现的问题