我想知道我该如何隐藏WebBrowser
直到网站加载过程完成?
另外,我使用 Panel1 和WebBrowser
在它的上面。为什么?好吧,这样,我可以完全像我想要的 WebBrowser 一样设置 Panel1 的大小和位置,然后将 WebBrowser 放在 Panel1 的顶部,并将大小(WebBrowser 的宽度、高度)设置为整体 +4 px。之后,我将 WebBrowser(左、上)的大小调整为 -2px,以便可以删除 WEBBROWSER 边框:) 将 WebBrowser 的高度和宽度调整为 -2px 后,WebBrowser 的大小与没有边框的 Panel1 完全相同...
现在,回到主题 - 我已经尝试设置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)
,当您打算显示浏览器时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)