Delphi 在网站完成加载/下载过程之前,如何隐藏WebBrowser?

Delphi 在网站完成加载/下载过程之前,如何隐藏WebBrowser?,delphi,hide,twebbrowser,Delphi,Hide,Twebbrowser,我想知道在网站加载过程完成之前如何隐藏WebBrowser 此外,我还使用Panel1和它上面的WebBrowser。为什么?这样,我可以设置Panel1的大小和位置,就像我希望WebBrowser一样,然后将WebBrowser放在Panel1的顶部,并将大小(WebBrowser的宽度和高度)设置为+4px。之后,我将WebBrowser(左,上)的大小调整为-2px,以便删除WebBrowser边框:)将WebBrowser的高度和宽度调整为-2px后,WebBrowser的大小与面板1完

我想知道在网站加载过程完成之前如何隐藏
WebBrowser

此外,我还使用Panel1和它上面的
WebBrowser
。为什么?这样,我可以设置Panel1的大小和位置,就像我希望WebBrowser一样,然后将WebBrowser放在Panel1的顶部,并将大小(WebBrowser的宽度和高度)设置为+4px。之后,我将WebBrowser(左,上)的大小调整为-2px,以便删除WebBrowser边框:)将WebBrowser的高度和宽度调整为-2px后,WebBrowser的大小与面板1完全相同,没有边框

现在,回到主题-我尝试设置
TFMain.WebBrowser1NavigateComplete2
事件,但使用
FMain.Panel1.Visible:=True(在Panel1设置中,我将Visible选项设置为False,这样Panel1和WebBrowser都不可见),但它不起作用。Panel1和WebBrowser始终不可见

WebBrowser完成网站下载后,如何使Panel1可见

还有一件事:因为WebBrowser位于Panel1的顶部,所以当我将Panel1设置为Visible为False时,WebBrowser也将不可见:)


有人能帮我吗?谢谢…

如果您只有一个
TWebBrowser
实例,该实例已在设计时形成,则可以使用以下代码进行初始化:

procedure TFMain.KeepWebBrowserInvisible;
begin
  WebBrowser1.Align := alNone;
  WebBrowser1.Left := -WebBrowser1.Width - 1;
  WebBrowser1.Top := -WebBrowser1.Height - 1;
  WebBrowser1.OnDocumentComplete := WebBrowser1DocumentComplete;
end;

procedure TFMain.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; const Url: OleVariant);
begin
  if pDisp = WebBrowser1.DefaultDispatch then
  begin
    // The document or the main frame has been fully downloaded
    WebBrowser1.Align := alClient; // Fill the Panel1
  end;
end;

重要信息:如果浏览器实例是动态创建的,则在要显示浏览器时,应添加
Panel1.InsertControl(WebBrowser1)

必须实现
OnDocumentComplete
事件处理程序。寻找更多信息。