如何以编程方式更改 TWebBrowser 中的字体

How to Programmatically Change Font in TWebBrowser

我们正在设计模式下使用 Web 浏览器构建电子邮件客户端。我们的客户有自己想要使用的特定字体。所以我们希望能够使用他们给我们的字体来设置网络浏览器字体。他们给我们的字体只是一个字符串,例如 "Arial"

如何设置浏览器字体?

我们尝试了以下方法:

HtmlPage.execCommand('FONTNAME', False, 'Arial');

然而,这仅适用于选择,因为网络浏览器一开始是空的,所以没有选择。一旦用户开始输入,字体就会变回 times new roman。

我也试过了

HtmlPage := ((Sender as TWebBrowser).Document  as IHTMLDocument2);
while (Sender as TWebBrowser).QueryStatusWB( OLECMDID_SELECTALL) <> OLECMDF_SUPPORTED + OLECMDF_ENABLED do
        Application.ProcessMessages;
(Sender as TWebBrowser).ExecWB(OLECMDID_SELECTALL,OLECMDEXECOPT_PROMPTUSER,pvaIn,pvaOut);
HtmlPage.execCommand('FONTNAME', False, 'Arial');

然而,这是一个无限循环。

如有任何建议,我们将不胜感激:) 谢谢。

这个呢?

((Sender as TWebBrowser).Document as IHTMLDocument2).body.style.fontFamily:='Arial';