CEF为chrome浏览器的切入其他浏览器中的轻量级框架。 开发的客户端的时候,这是作为界面显示的首先,可以增强客户的易变性,可塑性。

在开发的过程中(侧重于C,C++解决),遇到的几个问题,以及自己看源码和整理出的KO思路:

1.  cef如何禁用右键属性:

手动写一个Cclient来继承 CefMenuHandler这个抽象类,然对其下面的纯虚函数进行重写

1     virtual bool OnBeforeMenu(CefRefPtr<CefBrowser> browser, const CefMenuInfo& menuInfo) { return true; }
2      virtual CefRefPtr<CefMenuHandler> GetMenuHandler() { return this; }

2.如何对浏览器进行定位或者说是画出来:

首先用此函数GetClientRect 获取客户区的矩形区域,rect 然后运用下面的函数,进行定位

CefSettings cSettings;CefRefPtr<CefApp>spApp;CefWindowInfo info;RECT rect;RECT rectnew;CefBrowserSettings browserSettings;

 1     CefSettingsTraits::init(&cSettings);
 2     cSettings.multi_threaded_message_loop= true;
 3     CefInitialize(cSettings, spApp);
 4     GetClientRect(&rect);
 5     rectnew=rect;
 6     rectnew.top=rect.top+94;
 7     rectnew.bottom=rect.bottom;
 8     rectnew.left=rect.left;
 9     rectnew.right=rect.right;
10     info.SetAsChild(GetSafeHwnd(),rectnew);
11     

 CefBrowser::CreateBrowser(info, static_cast<CefRefPtr<CefClient> >(client),MainUrl.c_str(),browserSettings);

3. 如何对自定义操作进行cookie操作:

开启一个线程,来修改进程中cookie的值

 1 CefRefPtr<CefCookieManager> manager = CefCookieManager::GetGlobalManager();
 2     CefString(&cookie.name).FromASCII("PHPSESSID");
 3     //SessinID+=+";client";
 4     CefString(&cookie.value).FromASCII(SessinID.c_str());
 5     CefString(&cookie.domain).FromASCII("203.195.192.24");
 6     CefString(&cookie.path).FromASCII("/");
 7
 8     cookie.has_expires = true;
 9     cookie.expires.year = 2200;
10     cookie.expires.month = 10;
11     cookie.expires.day_of_week = 5;
12     cookie.expires.day_of_month = 11;
13     CefPostTask(TID_IO, NewCefRunnableMethod(manager.get(), &CefCookieManager::SetCookie, CefString(MainUrl.c_str()), cookie));

4.对于网上困扰很多人的,Cef+MFC页面覆盖(页面不刷新现象),而不能显示的问题,摸索了好久,发现原来是cef和MFC中对话框中的刷新前后不一样造成的。

所以去研究了对话框的重绘之后,发现其实只需要,虚函数OnEraseBkgnd重写,改成这样之后,便不会出现页面覆盖,也不会出现闪烁的画面既视感!

.h部分

 virtual BOOL OnEraseBkgnd(CDC* pDC);

.cpp部分

在映射部分手动加载:

ON_WM_ERASEBKGND()

//这部分用来解决页面覆盖问题,喵的终于解决啦!
BOOL MMenu::OnEraseBkgnd(CDC* pDC){//return TRUE;return FALSE;
}

4.如何自定义的....

CEF使用的几个注意点相关推荐

  1. cef在android中使用_嵌入Chrome cef之完整版(本教程基于cef1)

    本教程基于cef1 至于cef1与cef3的区别请参考 http://blog.csdn.NET/tts2game/article/details/17260865 总结之前先将我的参考资料整理如下 ...

  2. CEF(包含均衡负载)

    (转自: http://baike.baidu.com/view/51048.htm) 传统路由器的基本作用是路由计算和包转发,通常基于共享存储器体系结构,采和集中式CPU,即单个CPU(或多个CPU ...

  3. Cygwin编译cef

    1.下载cygwin,并安装如下项: autobuild autoconf autogen automake ccrypt cmakegcc-g++gdb httpd libGLw-devel lib ...

  4. C#搭建CEF(CEFGLUE) 环境。

    CEF(CEFGLUE)如果想做浏览器的,对这个应该不陌生了,相关资料执行百度了,现在写这文章这是按当前时间做一个环境搭建时所需要的资料的一个收集. 1:下载Xilium.CefGlue项目源码. 链 ...

  5. cef使用缓存_CEF 文件下载功能实现

    CEF 下载功能非常容易拓展,它提供了丰富的接口和控制功能,比如对正在下载的文件实现暂停.继续.取消等操作.并且 CEF 还帮我们默认实现了一个另存为的对话框,如果不是必须你甚至都不需要去自己实现这个 ...

  6. CEF:给客户端内嵌一个Chrome吧

    原文:http://yogurtcat.com/posts/cef/hello-cef.html 发表于: 2013-03-31 20:20   |  更多相关文章: browser CEF Chro ...

  7. qt cef嵌入web(二)

    在qt cef嵌入web文章中已经讲述了怎么把cef页面嵌入到qt程序中,但是这样并不完美,因为如果需要在多个窗口上创建cef浏览器部件的话,在 消息监听部分没有办法做区分多个浏览器事件,在这篇文章中 ...

  8. CEF:MFC 对话框 Demo(VS2013)

    原文链接:https://blog.csdn.net/blackwoodcliff/article/details/74276848 随着 HTML5 的崛起和 IE 的淘汰,微软 Web Brows ...

  9. Avalonia跨平台入门第二十一篇之玩耍CEF

    在前面分享的几篇中咱已经玩耍了Popup.ListBox多选.Grid动态分.RadioButton模板.控件的拖放效果.控件的置顶和置底.控件的锁定.自定义Window样式.动画效果.Expande ...

  10. Cef mysql.exe_CEF3.2623使用记录:windows编译

    CEF3.2623使用记录:windows编译 1:cef3.2623下载地址 2623是cef3最后一个支持xp系统的版本,且可以支持html的audio标签,可以用作对html音频的处理下载地址为 ...

最新文章

  1. Android SDK Tools Setup 提示 “ java se development kit not found”
  2. 【转】Android 4.3源码的下载和编译环境的安装及编译
  3. j2ee性能调优之最小化资源压力测试法则
  4. Python 进阶_模块 包
  5. Java的poi的excel导入怎么验证整型格式的单元格
  6. 带着灵魂去旅行的骑者-重新认识自我
  7. C语言中三块“难啃的硬骨头”
  8. java多线程的join方法_java多线程系列_join方法的使用(5)
  9. php中的id怎么传值,uniapp如何跳转页面传值
  10. memcpy/memset函数的c语言实现
  11. 解决jupyter botebook打不开,修改jupyter botebook工作目录失败问题
  12. 手机如何访问电脑局域网文件共享服务器,数据共享 手机怎么访问电脑文件?多个设备之间数据共享...
  13. DirectX11 学习笔记3 - 创建一个立方体 和 轴
  14. Linux账号和权限管理
  15. 好用的电脑端看图软件
  16. bittorrent_如何匿名和加密您的BitTorrent流量
  17. 在堆区开辟内存(动态内存的开辟)
  18. 用hutool工具类导出excel
  19. 关于雪崩击穿温度系数
  20. MYSQL-mysql中的truncate的用法

热门文章

  1. 10条建议让你创建更好的jQuery插件(转载)
  2. Pwn2Own 2022迈阿密大赛落幕 去年春季赛冠军蝉联Master of Pwn
  3. 使用广泛的开源PCB文件查看器 Gerbv 含多个严重漏洞
  4. ArcGIS API for Silverlight开发入门(2):一个基础地图实例
  5. MHA 节点程序介绍
  6. centos 实现ssh远程连接docker
  7. 每周一书-《程序开发心理学(银年纪念版)》
  8. eclipse sdk manager无法更新
  9. 3.15 送货通知单
  10. 一起谈.NET技术,asp.net控件开发基础(17)