Delphi TWebBrowser window.devicePixelRatio属性

时间:2017-08-30 08:53:39

标签: delphi scale twebbrowser

在我们的应用程序中,我们使用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中,文本被剪切

1 个答案:

答案 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标志。