在我们的应用程序中,我们使用Delphi的TWebBrowser组件来显示Web内容。现在我们遇到一个问题,如果windows有缩放监视器,例如125%的缩放比例。在这种情况下,某些HTML控件无法正确呈现,因为JavaScript中的window.devicePixelRatio属性未更新但保持在1,而在125%缩放的监视器上应该为1.25。
有没有可以解决这个问题?从JavaScript内部来看,不可能改变这个值,但可能来自Delphi方面?
编辑:我尝试了嵌入式铬,它在那里工作正常。但目前不可能从ie转向铬。
示例HTML:
<!DOCTYPE html>
<html>
<body>
<div style="width: 100px; height: 25px; border: 1px solid black; border-radius: 4px; overflow: hidden">
<span style="font-size:10pt; white-space: pre">Long sample text</span>
</div>
</body>
</html>
在嵌入式IE中,文本被剪切
答案 0 :(得分:3)
即使它已过时,您会发现为您的应用程序启用FEATURE_96DPI_PIXEL将返回正确的pixel像素:
HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Internet Explorer
Main
FeatureControl
FEATURE_96DPI_PIXEL
yourapplication.exe = (DWORD) 00000001
推荐的方法是启用DOCHOSTUIFLAG_DPI_AWARE标志。