创建 Web 浏览器样式的 MFC 应用程序
更新:2007 年 11 月
Web 浏览器样式的应用程序除了可以访问本地文件系统和网络上的文件夹外,还可以访问 Internet(如 HTML 或活动文档)或者 Intranet 上的信息。通过从 CHtmlView 导出应用程序的视图类,并利用 WebBrowser 控件提供视图,有效地使应用程序成为 Web 浏览器。
创建基于 MFC 文档/视图结构的 Web 浏览器应用程序
按照创建 MFC 应用程序中的指导操作。
在 MFC 应用程序向导的应用程序类型页中,确保选定“文档/视图结构支持”框。(可以选择“单文档”或者“多文档”,但不能选择“基于对话框”。)
在查看生成的类页中,使用“基类”下拉菜单选择 CHtmlView。
选择任何其他要内置到主干应用程序中的选项。
单击“完成”。
WebBrowser 控件通过超链接和统一资源定位器 (URL) 导航支持 Web 浏览。该控件维护历史记录列表,允许用户在以前浏览过的站点、文件夹和文档中向前和向后浏览。该控件直接处理导航、超链接、历史记录列表、收藏夹和安全性。应用程序可以将 WebBrowser 控件用作同样承载活动文档的活动文档容器。因此,具有丰富格式的文档(如 Microsoft Excel 电子表格或 Word 文档)能从 WebBrowser 控件中就地打开和编辑。WebBrowser 控件也是可承载任何 ActiveX 控件的 ActiveX 控件容器。
说明: |
---|
WebBrowser ActiveX 控件(因此是 CHtmlView)仅适用于在安装有 Internet Explorer 4.0 或更高版本的 Windows 版本下运行的应用程序。 |
因为 CHtmlView 仅实现 Microsoft Web 浏览器控件,它对打印的支持不像其他 CView 导出的类。相反,WebBrowser 控件实现打印机用户界面和打印。因此,CHtmlView 不支持打印预览,并且框架不提供其他打印支持函数:例如,CView::OnPreparePrinting、CView::OnBeginPrinting 和 CView::OnEndPrinting,而它们在其他 MFC 应用程序中是可用的。
用作 CHtmlView Web 浏览器控件的包装,为应用程序提供在 Web 或 HTML 页上的视图。向导在视图类中创建 OnInitialUpdate 函数的一个重写,以提供到 Microsoft Visual C++ 网站的导航链接:
void CWebView::OnInitialUpdate()
{
CHtmlView::OnInitialUpdate();
// TODO: This code navigates to a popular spot on the web.
// change the code to go where you'd like.
Navigate2(_T("http://www.msdn.microsoft.com/vstudio/"),NULL,NULL);
}
可以用自己的站点替换该站点,也可以使用 LoadFromResource 成员函数打开驻留在项目资源脚本中的一个 HTML 页作为视图的默认内容。例如:
void CWebView::OnInitialUpdate()
{
CHtmlView::OnInitialUpdate();
// TODO: This code navigates to a popular spot on the web.
// change the code to go where you'd like.
LoadFromResource(IDR_HTML1);
}
请参见
任务
MFCIE 示例:演示 MFC CHtmlView 和 CReBar 类