创建 Web 浏览器样式的 MFC 应用程序

Web 浏览器样式应用程序可以访问来自 Internet 的信息,(例如 HTML 或活动文档)或 Intranet,以及本地文件系统和网络上的文件夹。 通过从 CHtmlView 中派生应用程序的视图类,通过向 WebBrowser 控件提供视图,有效地使应用程序成为 Web 浏览器。

基于 MFC 文档/视图体系结构创建 Web 浏览器应用程序

  1. 按照创建 MFC 应用程序的说明进行操作。

  2. 在MFC 应用程序向导“应用程序类型”页中,确保选择了“文档/视图体系结构”框。 (可以选择单个文档多个文档,但不能选择基于对话框的文档。)

  3. “审阅生成的类”页上,使用 “基类”下拉菜单选择 CHtmlView

  4. 选择要内置到框架应用程序中的任何其他选项。

  5. 选择“完成”

WebBrowser 控件支持 Web 浏览超链接和统一资源定位器 (URL) 导航。 该控件维护历史记录列表,允许用户向前和向后浏览以前浏览的网站、文件夹和文档。 该控件直接处理导航、超链接、历史记录列表、收藏夹和安全性。 应用程序还可以使用 WebBrowser 控件作为活动文档容器来托管活动文档。 因此,可以从 WebBrowser 控件中打开和编辑格式丰富的文档(如 Microsoft Excel 电子表格或 Word 文档)。 WebBrowser 控件也是可以托管任何 ActiveX 控件的 ActiveX 控件容器。

注意

WebBrowser ActiveX 控件(因此 CHtmlView)仅可用于在 Windows 版本(其中安装了 Internet Explorer 4.0 或更高版本)下运行的程序。

由于 CHtmlView 只是实现 Microsoft Web 浏览器控件,因此它对打印的支持不像其他 CView 派生的类。 相反,WebBrowser 控件实现打印机用户界面和打印。 因此,CHtmlView 不支持打印预览,框架不提供其他打印支持函数:例如 CView::OnPreparePrintingCView::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("https://learn.microsoft.com/"),
        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);
}

另请参阅

MFC 示例 MFCIE
MFC 应用程序向导
设置编译器和生成属性
属性页
设置编译器和生成属性