[改善] dcef3 for Firemonkey 浏览器控件,拉动窗体大小会闪烁的问题

问题:dcef3 for Firemonkey 浏览器控件,拉动窗体大小会闪烁的问题

修改源码:ceffmx.pas

找到 procedure TCustomChromiumFMX.Resize;

修改如下:

procedure TCustomChromiumFMX.Resize;
var
  brws: ICefBrowser;
  b: TBitmap;
begin
  inherited;
  if not (csDesigning in ComponentState) then
  begin
    brws := FBrowser;
    if (brws <> nil) then
    begin
      if FBuffer = nil then
        FBuffer := TBitmap.Create(Trunc(Width), Trunc(Height)) else
      begin
        b := TBitmap.Create;
        b.Assign(FBuffer);
        FBuffer.SetSize(Trunc(Width), Trunc(Height));
        FBuffer.Canvas.BeginScene;
        FBuffer.Canvas.DrawBitmap(B, RectF(0, 0, b.Width, b.Height), RectF(0, 0, b.Width, b.Height), 1, True);
        FBuffer.Canvas.EndScene;
        b.Free;
      end;
      brws.Host.WasResized;
    end;
  end;
end;

Delphi Chromium Embeded 3:https://github.com/hgourvest/dcef3

注:dcef3 FMX 用 Bitmap 处理,效能不如 VCL 的好,还是建议使用 VCL

时间: 2024-10-24 23:25:05

[改善] dcef3 for Firemonkey 浏览器控件,拉动窗体大小会闪烁的问题的相关文章

如何实现控件随窗体大小的改变而自动适应其改变

在设计可供用户调整大小的窗体时,如何实现该窗体上的控件也应能正确地随窗体的改变而自动调整大小并且能重新定位?此时就要借助控件的.Anchor属性.Anchor属性定义控件的定位点位置.当控件锚定到某个窗体时,如果该窗体的大小被调整,那么该控件维持它与定位点位置之间的距离不变.例如,如果":Button"控件锚定到窗体的左.右和底边缘,那么当调整该窗体的大小时,Button控件水平调整大小,维持到该窗体左边和右边的距离不变,另外控件垂直定位其自身,以便其到窗体底边的距离始终不变,如果控件

C# 窗体控件跟随窗体大小自动调节

测试目的:如何使得窗体内的控件可以跟随窗体大小自动调节 测试环境:WIN10 ENT + VS2015 方法原理:记录初始时窗口大小.控件大小等信息.每当窗口大小变化时,计算窗口大小相对于初始时的缩放比例,然后根据缩放比例再调整控件的位置(Location).大小(Size).字体大小(Font.Size). C#主要测试代码: using System; using System.Drawing; using System.Windows.Forms; namespace TEST1111 {

FireMonkey图形控件继承关系

FireMonkey 的控件都是自己绘制的(而不是基于系统组件), 我想它们应该是基于一些基本图形; 就从基本图形开始吧. FMX.Objects 单元给出的类: TShape //基本图形的基类 TLine TRectangle TRoundRect TCalloutRectangle TEllipse TCircle TPie TArc TPath TText TImage TPaintBox TSelection TSelectionPoint 添加一个 TRectangle, 先纵观一下

WP7 浏览器控件WebBrowser历史记录、前进、后退、刷新功能实现

由于要在应用程序内部访问网页,不跳出应用.所以要实现一个浏览器.但是悲催的事windows phone8 的WebBrowser控件已经支持了像CanGoBack ,CanGoForward,GoBack,GoForward等这些功能,但是wp7没有就实现了几个前进后退几个功能.用在page里面也很简单,实现的效果如下图所示. 因为使用十分简单.和windows phone8上的WebBrowser一样的.我就直接给控件的代码,就帖使用的代码了. 代码如下,注释也都写的比较清楚. using S

基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址

转载请说明原出处,谢谢~~ 前些日子用wke内核封装了duilib的webkit浏览器控件,好多群里朋友私聊我希望可以我公布源码,今天把这个控件的源码和使用demo公布.其实这个控件封装起来没什么难度,我只是按照原来作者的demo,把相应的消息封装成duilib对应的. 在此首先要感谢wke内核的作者BlzFans以及soui2界面库的作者flyhigh,BlzFans精简了webkit内核后封装为wke并公布了源码,flyhigh对wke进行处理让他更容易移植到dui工程中.wke内核10M大

UIWebView浏览器控件常用属性与方法汇总

一.什么是UIWebView UIWebView是iOS内置的浏览器控件 系统自带的Safari浏览器就是通过UIWebView实现的 二.UIWebView常用属性和方法 UIWebView常用的加载资源的方法 - (void)loadRequest:(NSURLRequest *)request; @property(nonatomic) UIDataDetectorTypes dataDetectorTypes; // 需要进行检测的数据类型 @property(nonatomic,rea

JxBrowser Java浏览器控件详细介绍

JxBrowser能在Windows.Linux.Mac OS X (Intel and PPC-based)平台上将Mozilla Firefox浏览器完美地整合到Java AWT/Swing应用程序里.该库程序使用Gecko设计引擎来转换HTML文档.因而保证了它能与许多Internet标准(如HTML 4.CSS.XML.JavaScript以及其它)兼容. 主要功能 用来将HTML浏览程序内置到AWT/Swing用户界面上的可视浏览器控件 使用Gecko 1.9/Firefox 3代码库

Essential HTMLUI 浏览器控件介绍及下载

Essential HTMLUIfor Windows Forms是一款WinForm控件用于呈现HTML,功能很像一个Web浏览器,支持各种各样的HTML标签,可以显示丰富的HTML文档,支持导出和打印. 具体功能: HTMLUI是一款完全与浏览器独立的控件,支持以URL的形式打开HTML 支持从用户驱动器路里加载任何HTML页面 支持使用图片代替文本用于连接到其他文件 支持以流的形式加载HTML文档 支持各种各样的HTML标签,格式化相关的标签 支持外部的.内在的.内嵌的样式,支持在运行时添

JxBrowser Java浏览器控件详细介绍及下载

JxBrowser能在Windows.Linux.Mac OS X (Intel and PPC-based)平台上将Mozilla Firefox浏览器完美地整合到Java AWT/Swing应用程序里.该库程序使用Gecko设计引擎来转换HTML文档.因而保证了它能与许多Internet标准(如HTML 4.CSS.XML.JavaScript以及其它)兼容. 主要功能 用来将HTML浏览程序内置到AWT/Swing用户界面上的可视浏览器控件 使用Gecko 1.9/Firefox 3代码库