如何隐藏WebBrowser,直到网站完成加载/下载过程? [英] How can I hide WebBrowser till the website complete the loading / download process?
本文介绍了如何隐藏WebBrowser,直到网站完成加载/下载过程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道如何在网站加载过程完成之前隐藏WebBrowser
?
WebBrowser
。为什么?这样,我就可以完全按照我想要的WebBrowser设置Panel1的大小和位置,然后将WebBrowser放在Panel1的顶部,并将大小(WebBrowser的宽度、高度)整体设置为+4像素。之后,我将WebBrowser(左、上)的大小调整了-2px,这样我就可以删除WEBBROWSER边框:)将WebBrowser的高度和宽度调整为-2px后,WebBrowser的大小与Panel1完全相同,没有边框...
现在,回到主题-我试图设置TFMain.WebBrowser1NavigateComplete2
事件,但使用FMain.Panel1.Visible:=True;
(在Panel1设置中,我将Visible Option设置为False,因此Panel1和WebBrowser都不可见),但它不起作用。Panel1和WebBrowser始终不可见。
如何在WebBrowser完成网站下载后使Panel1可见?
还有一件事:因为WebBrowser位于Panel1之上,所以当我将Panel1设置为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)
。
这篇关于如何隐藏WebBrowser,直到网站完成加载/下载过程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文