2016-02-26 2 views
2

Мы создаем почтовый клиент, используя веб-браузер в режиме разработки. Наши клиенты имеют собственный шрифт, который они хотят использовать. Поэтому мы хотели бы установить шрифт веб-браузера, используя шрифт, который они нам дают. Шрифт, который они нам дают, представляет собой просто строку, например «Arial»Как программно изменить шрифт в TWebBrowser

Как мы можем установить шрифт браузера?

Мы попытались следующее:

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

Однако это только делает его для выбора и как веб-браузер является пустым, чтобы начать с нет выбора. Как только пользователь начнет вводить шрифт, он изменит время на новый 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'); 

Однако, это бесконечный цикл.

Любые предложения были бы оценены :) Спасибо.

+0

Сделайте это в таблице стилей. Или просто игнорируйте пользователей. Они будут продолжать использовать ваше программное обеспечение независимо от того, что такое шрифты, и вы могли бы потратить время на то, чтобы сделать что-то более ценное. –

ответ

4

Как насчет этого?

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

Спасибо, что это работает. Просто примечание. Мне нужны скобки вокруг Sender As TWebBrowser. – MattLaza

+0

Вы правы, моя опечатка, я исправила это. –

Смежные вопросы