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

Posted 龟山Aone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[改善] 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

以上是关于[改善] dcef3 for Firemonkey 浏览器控件,拉动窗体大小会闪烁的问题的主要内容,如果未能解决你的问题,请参考以下文章

[范例] Firemonkey Edit 输入框只允许输入数字 for Android

dcef for delphi

使用 FireMonkey 构建优秀专业 Android 应用的10点提示

java 超多次数的for循环如何改善

VirtualTreeView 的 Firemonkey 版本

Firemonkey:如何定义一个包含另一个组件的组件?