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

时间:2016-02-26 02:27:07

标签: delphi fonts twebbrowser

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

我们如何设置浏览器字体?

我们尝试过以下方法:

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

然而,这仅适用于选择,因为Web浏览器为空而没有选择。一旦用户开始输入,字体就会变回新罗马。

我也试过

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');

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

任何建议将不胜感激:) 谢谢。

1 个答案:

答案 0 :(得分:4)

这个怎么样?

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