Products
96SEO 2025-05-19 11:42 2
你是不是在Delphi编程中遇到过这样的困惑:怎么利用WebBrowser控件展示网页内容?别担心,这篇文章将带你一步步深厚入了解WebBrowser控件,让你轻巧松驾驭网页展示。
打开Delphi,新鲜建一个VCL工事。在组件面板中,找到“Internet”分类,拖动TWebBrowser控件到窗体上。它会自动铺满整个窗体,但如果你想控制巨大细小,想起来提前调整Align属性或手动拉伸。
需要注意的是WebBrowser默认用的是系统自带的IE内核。眼下IE已经退休,所以你兴许需要先处理兼容性问题。后面会详细讲解怎么解决这玩意儿问题的。
在窗体上添加一个按钮,双击按钮编写代码。最轻巧松的加载方式如下:
WebBrowser1.Navigate;
点击运行, 如果还是白屏,那么需要检查两点:第一,你的程序是不是有管理员权限;第二,网页是不是被系统平安策略拦截。觉得能先尝试加载http开头的本地测试页面。
想让网页加载时有进度条提示吗?能用以下事件:
比方说 在OnDocumentComplete事件中,能这样写:
procedure TForm1.WebBrowser1OnDocumentComplete;
begin
ShowMessage;
end;
眼下我们来尝试一些高大级操作,比如自动点击网页上的按钮或填写表单。这需要用到WebBrowser的OLE接口。虽然听起来有些吓人, 但代码其实并不麻烦:
var
Doc: IHTMLDocument2;
begin
Doc := WebBrowser1.Document as IHTMLDocument2;
as IHTMLInputElement).value := 'admin';
end;
请注意,这玩意儿写法需要引用MSHTML单元,想起来在uses有些加上。
问:为啥在Win10/Win11上看得出来空白?
答:微柔软从Win10 1703开头默认禁用IE,需要修改注册表或改用EdgeWebView。推荐安装EdgeWebView这玩意儿新鲜控件。
通过本文的讲解,相信你已经对Delphi中的WebBrowser控件有了更深厚入的了解。虽然WebBrowser控件在处理麻烦交互时兴许不如CEF4Delphi或Edge浏览器组件, 但对于轻巧松的网页展示它仍然是一个不错的选择。
Demand feedback