微软新推出的WebView2浏览器核心,非常流畅,使用的是和Edge一样的核心。
Microsoft Edge WebView2 控件允许在本机应用中嵌入 web 技术(HTML、CSS 以及 JavaScript)。 WebView2 控件使用 Microsoft Edge 作为绘制引擎,以在本机应用中显示 web 内容。
使用 WebView2 可以在本机应用的不同部分嵌入 Web 代码,或在单个 WebView2 实例中生成所有本机应用。
![](https://i-blog.csdnimg.cn/blog_migrate/3323934d024f2677454cb98e7dc07448.png)
WebView2提供的功能非常多,本文就介绍Delphi下如何修改上下文菜单,也就是平常说的右键菜单。需要用到俩个单元:WebView.pas、WebView2API.pas。
具体的代码如下:
//菜单响应事件
procedure TFormMain.MenuSelected(Sender: TObject);
begin
ShowMessage('OK');
end;
//增加菜单的WebView事件
procedure TFormMain.WebViewContextMenuRequested(Sender: TObject;
MenuItems: IContextMenuItemCollection; const Location: TPoint;
const Target: IContextMenuTarget; var SelectedCommand: Integer;
var Handled: Boolean);
var
M1 : IContextMenuItem;
begin
M1 := WebView.CreateContextMenuItem('我的菜单', nil, miCommand);
//加入菜单事件
M1.OnSelected := MenuSelected;
//加入子菜单
MenuItems.Insert(0,M1);
end;
效果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/a6f71e0a2136c5237589b0c9a35ced72.png)
![](https://i-blog.csdnimg.cn/blog_migrate/df82e3aa94ff7f8c90d0926cf34672f6.png)
本文参照微软说明文档中的C#代码改成Delphi。微软样例代码参见:微软样例代码。
今日情人节,愿天下有情人终成眷属!