有谁知道,如何禁用Firemonkey iOS / Android应用程序中TWebBrowser
控件的滚动可能性?我的目标是获得绝对不会对触摸产生反应的静态元素等等。
答案 0 :(得分:1)
没有单一的设置或操作可以禁用Fmx.TWebBrowser
的所有用户操作。但是有一个功能可以用于您的目的。
我引用的功能是Fmx.WebBrowser.TCustomWebBrowser.CaptureBitmap
documented here
<强>描述强>
将当前可见的网页捕获为位图。
此方法返回一个TBitmap对象,允许您创建, 操作和存储图像在内存中或作为磁盘上的文件。该 使用这种方法的场景如下: 1.调用此方法将可见网页捕获为位图。 2.隐藏TWebBrowser控件。 3.显示位图并覆盖位图顶部的其他组件(如按钮或弹出窗口)。
在您的情况下,您只需隐藏WB并显示位图。
使用以下代码进行测试:
type
TForm25 = class(TForm)
Button1: TButton;
WebBrowser1: TWebBrowser;
Edit1: TEdit;
Image1: TImage;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure WebBrowser1DidFinishLoad(ASender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
bmp: TBitmap;
public
{ Public declarations }
end;
implementation
procedure TForm25.Button1Click(Sender: TObject);
begin
WebBrowser1.URL := Edit1.Text;
end;
procedure TForm25.Timer1Timer(Sender: TObject);
begin
bmp := WebBrowser1.CaptureBitmap;
Image1.Bitmap := bmp;
end;
procedure TForm25.WebBrowser1DidFinishLoad(ASender: TObject);
begin
Timer1.Enabled := True;
end;
隐藏WB时,无法操作。
我添加的计时器(1000毫秒)是因为我试图捕获已在OnDidFinishLoad()
事件中的图像没有成功。