DCEF3控件TChromium有个事件OnBeforePopup,我们可以在这个事件函数里加上自己的逻辑,最后一个参数是返回参数bool &Result,置为true表示自己来处理,置为false表示使用默认行为,即弹出一个新的窗口。

对于构造多标签页浏览器,我们的应用逻辑是在事件处理函数中取得url参数,重新new一个TChromium放置在新标签页,但这样做有问题,总是卡住然后崩溃,网上能够搜到的信息不多,唯一有用的是这篇文章:http://www.cnblogs.com/newrainsoftware/p/5535222.html

文章就是一些代码,按这个做还是会卡住崩溃。从代码中可以知道解决问题的思路,即不能在事件函数中立即new一个新的TChromium,那篇文章的解决办法是在事件处理函数中发个消息给主窗口,在主窗口中再来new TChromium。仔细看他使用的是win32函数SendMessage(),这个函数需要等目标窗口接收并处理了这个消息才会返回,和在事件处理函数中立即处理并没有区别。因此,需要将这个函数改为PostMessage(),消息发出后立即返回,并不堵塞。

经过如此改造后大功告成。

使用谷歌浏览器内核控件DCEF3拦截弹出的新页面到新标签页相关推荐

  1. ASP.NET Menu控件子菜单弹出导致页面出现滚动条问题

    ASP.NET Menu控件子菜单弹出的时候导致页面CSS属性的Min-Height产生变化,结果是原来全屏的画面,多出了纵滚动条.可以通过如下方法解决: 将ASP.NET控件放置到Table的单元格 ...

  2. 怎样在Delphi中屏蔽Flash控件的右键弹出菜单

    关于如何屏蔽Flash控件的右键菜单的问题有很多人问过,也有很多人回答,基本上都是说拦截 Application消息,或者继承一个新的控件,重载MouseDown消息,第一种解决办法,好象是简单 些, ...

  3. python 选择文件对话框插件_[ PyQt入门教程 ] PyQt5基本控件使用:消息弹出、用户输入、文件/目录选择对话框...

    本文主要介绍PyQt界面实现中常用的消息弹出对话框.提供用户输入的输入框.打开文件获取文件/目录路径的文件对话框.学习这三种控件前,先想一下它们使用的主要场景: 1.消息弹出对话框.程序遇到问题需要退 ...

  4. 如何去除My97 DatePicker控件上右键弹出官网的链接 - 如何debug混淆过的代码

    概述 http://my97.net/是一个web浏览器的日期选择控件,非常好用,做得非常棒,各种API等事件等都很方便,但是使用了4.8beta3之后,在控件上面右击会出现官网链接 ,这个是PM以及 ...

  5. bootstrop 日期控件 datepicker被弹出框dialog覆盖的解决办法

    筒子们在使用bootstrap的日期控件(datepicker , 现在官网提供的名称叫 datetimepicker)时可能会遇到如上图的问题这是啥原因造成的呢? 答案很简单时输出的优先级造成的(z ...

  6. jatoolsprinter web打印控件直接打印不弹出

    1.功能 主要是实现页面点击按钮,不弹窗,直接打印. 可以指定某个打印机打印 可以使用默认打印机打印 2.版本 主要有:免费版跟付费版 免费版官网:http://printfree.jatools.c ...

  7. ocx控件 postmessage消息会消失_APP控件之二——弹框

    弹框分为两种:模态弹框和非模态弹框 一.模态弹框 模态弹框和非模态弹框最大的区别就是是否强制用户交互.模态弹框会打断用户的当前操作流程,用户不在弹框上操作的话,其余功能都使用不了. 优点是:可以很好的 ...

  8. VB动态添加WebBrowser控件,并拦截弹出窗口(不用引用任何组件)

    WBCustomizer.dll 这个 1.注册::在开始菜单中输入RegSvr32    路径(WBCustomizer.dll文件所在的绝对路径),若果注册成功,会提示 2.引用 :在工程--&g ...

  9. 请求所有父控件及祖宗控件不要拦截事件

    //事件分发//dispatchTouchEvent->onInterceptTouchEvent->onTouchEvent@Overridepublic boolean dispatc ...

最新文章

  1. Android中获取系统内存信息以及进程信息-----ActivityManager的使用(一)
  2. 《javascript高级程序设计》笔记:变量对象与预解析
  3. 如何从零开始搭建 CI/CD 流水线
  4. 小余学调度:学习记录(2021.10月)
  5. 用c++做贪吃蛇_用世界公认的变态羊毛做袜子!不用插电恒温37°C,还能抑菌99%...
  6. 解决npm ERR! code ENOENT
  7. 14 CO配置-控制-内部订单-维护定单编号范围
  8. Activity-数据状态的保存
  9. 《android开发艺术探索》读书笔记(五)--RemoteViews
  10. springBoot的一些注解以及静态资源的处理
  11. Markdown数学公式、特殊字符、上下标、积分、分式/根式 亲测有效
  12. SVN—如何安装SVN服务器端软件
  13. 算法:eight Queens 8皇后问题
  14. CompoundButton 选中/未选中状态的按钮
  15. 人人之间“不简单”,关系图谱“有一套”
  16. 特网云服务器 Windows自动更新相关配置
  17. 解决虚拟机中桥接模式下ip地址的设置
  18. 如何入门Python之Python基础教程详解
  19. win电脑主板设置的Bios密码清除方法
  20. 使用flink迁移数据

热门文章

  1. C# 国腾 二代身份证 扫描身份证信息
  2. xml和java Bean的直接转换,Xmap
  3. 河南推出近万亿PPP投资计划 郑州实现智慧城市全覆盖
  4. IBM DOORS VS 统御 oKit,一份真实的需求管理工具调研报告
  5. CS5267设计USB Type-C转HDMI电子电路图
  6. loop invariant
  7. Type-c接口移动电源方案
  8. python版jpeg合成pdf两种方法
  9. Java- Set 转换成List
  10. Spring配置事务管理