Delphi 10.4中新增功能:新的VCL TEdgeBrowser组件

2020-05-17

以下中文由谷歌翻译而来。

在RAD Studio 10.4中,VCL应用程序将能够使用新的基于Chromium的Edge浏览器控件查看Web内容并与之交互。这个新的TEdgeBrowser组件是Microsoft WebView2组件的包装。TEdgeBrowser替代了TWebBrowser,后者使用传统的IE(Internet Explorer)WebBrowser控件。但是,TWebBrowser仍保留在VCL组件集中,并进行了一些显着更改(请参阅下面的“ TWebBrowser发生了什么”)。

TEdgeBrowser要求

TWebBrowser使用Windows OS提供的Internet Explorer WebBrowser控件,因此不需要特殊的高级环境。只要Internet Explorer控件可用,它将始终在Windows上运行。另一方面,Microsoft Edge(当前)不是操作系统的组件。并且此尚未正式发布。因此,在运行任何使用PC的应用程序之前,需要确保PC上已安装这些项目。

目前,Edge Canary是在开发PC和最终用户PC上编译和运行应用程序的要求。与WebView2一样,所需的DLL需要随程序一起分发。这两者都是Microsoft的要求和二进制集,并且在正式版本中可能会发生更改。

安装Edge(Canary版本)和必需的Microsoft WebView2程序包之后,在RAD Studio 10.4 IDE中打开GetIt程序包管理器窗口,并找到相应的条目,如下所示:

安装软件包时,应用程序所需的DLL分别复制到RAD Studio的32位和64位应用程序的可再发行文件夹中(都称为WebView2Loader.dll)。将此DLL复制到构建目标文件夹中或搜索路径中的某处。

使用TEdgeBrowser组件

TEdgeBrowser组件的用法与TWebBrowser几乎相同。实际上,某些方法和属性与TWebBrowser相似。将组件放在VCL表单上后,按如下所示适当调整其大小:

要显示带有特定URL的页面,只需将该URL传递给Navigate方法。

   EdgeBrowser1.Navigate('https://www.XueXiDaShi.Vip');

就这样。运行应用程序时,应该看到类似以下内容的内容:

TWebBrowser呢?

VCL TWebBrowser组件继续扮演相同的角色。换句话说,Internet Explorer WebBrowser浏览器控件提供了呈现Web内容的功能。但是,除了这些传统行为之外,TWebBrowser现在还具有一个新的SelectedEngine属性。除了传统的基于IE的浏览器控件之外,此属性还允许您使新的Edge(Chromium)WebView2浏览器控件表现为在目标计算机上可用

优点是,它提供了一个可在所有Windows PC上运行的单一浏览器控件,同时与现有代码保持了高度的兼容性(就浏览器组件中使用的方法和属性而言)。新的Edge控件的优点是它具有更强大的自定义此新引擎的功能。


阅读1340