Advertisement

MFC MDI中使用CEF实现多页面嵌入谷歌浏览器以浏览百度地图

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本项目演示了在MFC MDI架构下利用CEF技术集成Google浏览器内核,实现多个文档界面同时加载和展示百度地图的应用场景。 使用VS2017开发的项目可以移植到VS2019、VS2015等多个版本上运行。该项目集成了在2020年11月26日发布的libcef,实现了标签页显示本地HTML文件及网页端页面的功能,并支持C++和JavaScript之间的交互操作。常见的JS数据类型如String、INT、DOUBLE、BOOL、Object以及Array等都可以进行双向传递。 示例代码中展示了一个将百度地图嵌入到本地html文件中的实例,通过UI按钮可以调用HTML文档中的javascript来实现对地图API的使用功能。参考这份代码至少能节省半个月的时间用于摸索开发过程。 如有需要进一步的技术支持或咨询,请发送邮件至rax_zhang@yeah.net联系开发者。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • MFC MDI使CEF
    优质
    本项目演示了在MFC MDI架构下利用CEF技术集成Google浏览器内核,实现多个文档界面同时加载和展示百度地图的应用场景。 使用VS2017开发的项目可以移植到VS2019、VS2015等多个版本上运行。该项目集成了在2020年11月26日发布的libcef,实现了标签页显示本地HTML文件及网页端页面的功能,并支持C++和JavaScript之间的交互操作。常见的JS数据类型如String、INT、DOUBLE、BOOL、Object以及Array等都可以进行双向传递。 示例代码中展示了一个将百度地图嵌入到本地html文件中的实例,通过UI按钮可以调用HTML文档中的javascript来实现对地图API的使用功能。参考这份代码至少能节省半个月的时间用于摸索开发过程。 如有需要进一步的技术支持或咨询,请发送邮件至rax_zhang@yeah.net联系开发者。
  • MFC程序CEF7版
    优质
    本教程详细介绍如何在基于Microsoft Foundation Classes (MFC)的应用程序中集成CEF7版本的Google Chrome浏览器内核,实现网页浏览功能。 本段落将详细介绍如何在MFC(Microsoft Foundation Class)应用程序中集成谷歌的CEF7(Chromium Embedded Framework)。该框架允许开发者把Chrome浏览器的核心渲染引擎嵌入到自己的应用里,从而为用户提供现代Web标准支持。 首先,在Visual Studio 2010环境中创建一个新的MFC项目,并选择“空项目”模板。接下来,你需要下载并安装CEFT的源代码及其所需的库文件。特别注意的是要确保获取适用于64位系统的CEF7版本以及与VS2010兼容的预编译静态库或自行构建。 接着,在项目的属性设置中添加包含目录和附加依赖项以指向CEF的相关头文件、库文件及bin目录,具体操作在“配置属性”>“CC++”中的“常规”的“附加包含目录”,以及在“链接器”>“输入”的“附加依赖项”。 为了实现浏览器的集成,在MFC应用中需要引入`cef.h`和 `cef_app.h`头文件。定义一个继承自`CefApp`类的子类,例如命名为`CefAppSubclass`, 并重写必要的接口方法如初始化上下文的方法。 在主窗口类(比如`CMainFrame`)内添加一个用于管理CEF浏览器实例的成员变量类型为 `CefBrowserHost* browser_host;`. 创建CEF浏览器窗口时使用如下代码: ```cpp CefWindowInfo window_info; window_info.SetAsChild(m_hWnd, CRect(0, 0, width, height)); // 设置窗口位置和大小 // 定义一个继承自`CefClient`类的实例,用于处理浏览器事件 CefRefPtr client_handler = new MyClientHandler(); // 初始化浏览器设置 CefBrowserSettings browser_settings; // 使用CreateBrowserSync方法创建CEF浏览器 CefBrowserHost::CreateBrowserSync(window_info, client_handler, http://www.example.com, browser_settings, NULL); ``` 其中,`MyClientHandler` 类需要继承自 `CefClient`, 并实现如生命周期事件处理和页面加载状态的接口。 此外,在窗口创建前通过修改样式支持透明度: ```cpp ModifyStyleEx(WS_EX_TRANSPARENT, 0); // 设置窗口样式以启用透明背景。 ``` 确保正确处理消息循环,特别是`WM_NCCALCSIZE` 和 `WM_PAINT` 消息,以便CEF浏览器可以在MFC窗口中正常显示。 在应用的入口点(如WinMain或main)初始化和关闭CEF库。使用如下方法: ```cpp CefInitialize(); // 初始化CEF库 // 应用程序运行结束后调用以下函数清理资源。 CefShutdown(); ``` 通过以上步骤,你可以在VS2010 MFC应用中成功嵌入CEF7浏览器,并支持64位系统的静态库。这将使你的应用能够展示现代网页,提供更佳的用户体验。同时可以通过定制`MyClientHandler`类来扩展功能,例如添加JavaScript交互、拦截网络请求等以满足更多需求。
  • WinFormChrome使.NET进行内核开发。
    优质
    本项目探讨了在Windows窗体应用程序(WinForms)中集成Google Chrome浏览器的技术方案,并利用.NET框架实现基于Chromium内核的浏览器开发。通过此方法,开发者能够充分利用现代Web技术,同时保持传统桌面应用的用户体验和控制能力。 这段描述涉及一个使用Winform的项目,其中包含了一个基于WebKit谷歌内核的浏览器组件(CefSharp版本V51_x64, ChromiumWebBrowser)。此项目的功能还包括数据库连接测试、加密以及生成注册表等操作,并且在Program.cs文件中通过切换启动程序可以运行不同的功能模块。
  • Google Chrome
    优质
    Google Chrome是一款由谷歌公司开发的网络浏览器,以其简洁的设计、快速的浏览速度和稳定的性能受到全球用户的喜爱。 您可以直接下载并安装 Chrome 浏览器的 73.0.3683.103(正式版本)(32位),之后就可以使用 Google Chrome 了。
  • MFC集成CEF项目的源代码
    优质
    本项目是基于Microsoft Foundation Classes (MFC)框架开发的一个应用程序,集成了Chromium Embedded Framework(CEF),用于嵌入式显示和操作Google Chrome浏览器的核心功能。该项目提供了一个直观的方法来利用CEF的强大功能,使开发者能够在其MFC应用中轻松实现网页浏览、渲染等能力。 基于VS2010的MFC客户端内嵌了CEF谷歌浏览器内核,并使用的是CEF1版本。
  • CEFWin32窗口
    优质
    本项目介绍如何在Windows平台下,利用Win32 API创建应用程序,并集成CEF(Chromium Embedded Framework)来实现高性能网页浏览功能。 使用CEF浏览器嵌入到Win32窗口中,并且采用版本2171的CEF,据说这个版本比较稳定。可以参考教程:http://www.cnblogs.com/chechen/ 进行操作。
  • 插件版翻译
    优质
    谷歌浏览器插件版百度翻译是一款便捷的语言工具插件,安装后可直接在Chrome浏览器中实现网页内容的即时翻译,支持多语言互译,让浏览国际网站无障碍。 百度翻译官方出品的插件支持27种语言的互译功能,在浏览外文网页时可以一键进行网页翻译、双语对照查看以及查询单词结果等功能。特别针对超过20家海淘网站进行了优化,让用户的海外购物体验更加便捷。 该插件最近更新时间为2020年11月11日,并且当前版本为1.2.6。此工具被归类于Chrome扩展程序类别中。安装教程方面,请先下载并解压文件,之后进入chrome://extensions/页面,将文件拖拽到该界面完成安装。 此外还有其他热门插件推荐,比如浏览器助手等。
  • 药丸 | 插件 (Chrome)
    优质
    百度药丸是一款谷歌浏览器插件,安装后用户在浏览网页时遇到百度搜索结果可快速识别并提示,提醒寻找更可靠的信息来源。 【插件简介】 屏蔽百度线上产品页面广告(搜索、新闻、贴吧、知道、音乐、图片、视频、文库等)。可当书签用,省去每次输入百度地址的麻烦。 【插件开发者】 @Mei GuanDing 【插件更新】 2020-11-05 11:36:09(该插件已被谷歌商店下架,已停止更新) 【插件版本】 2.3.1 【插件标签】 热门 净化 Chrome 插件 【插件安装教程】 请下载文件后先解压,然后进入页面:chrome:extensions 将文件拖拽到该页面,完成安装。