我認爲問題在於TWebBrowser
組件以兼容模式運行Internet Explorer。事實上,如果您在Internet Explorer 8及更高版本中打開docwiki頁面,則字體非常小巧,與TWebBrowser
中的外觀相反。但是,如果在Internet Explorer窗口中單擊「兼容性視圖」按鈕,您將獲得與TWebBrowser
組件中獲得的文本相同的大文本。 (它是公知的是IE6使用過大文本)
根據this MSDN blog entry和the MSDN docs,以控制TWebBrowser
控制的兼容模式,使用註冊表:
procedure TForm3.FormCreate(Sender: TObject);
begin
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
if OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', true) then
WriteInteger(ExtractFileName(Application.ExeName), 8888);
finally
Free;
end;
WebBrowser1.Navigate('http://docwiki.embarcadero.com/RADStudio/en/Main_Page');
end;
的值是8000, 7000和8888分別用於「IE8標準模式」,「IE7標準模式」和「IE8標準模式(強制)」。因此,上面的代碼將強制IE8標準模式。
然而,令人驚訝的是,將模式設置爲標準只會使字體更大。
Andreas,感謝您對「兼容模式」的評論,但是爲什麼有些頁面在兼容模式下運行時看起來使用相同的樣式和字體呢? – Salvador 2010-10-18 22:10:53