首页 > 解决方案 > 在 4K 显示器上缩放 DbGrid 指示器和 DbNavigator 图标

问题描述

我在具有 4K 显示屏的 HP Spectre x360 上使用 DPro Rio 10.3。DbGrids 上的指示器和 DbNavigator 控件的图标可在 1980 X 1080 下精细缩放,但在 4K 分辨率下几乎不可见。文本在任何分辨率下都可以很好地缩放。

我查看了这两个组件的源代码,它们包含使用 LoadfromResource 从可执行文件加载适当图形的方法。TDbNavigator 在运行时在虚拟方法 SetButtonGlyph 中调用 LoadfromResource。

此外,DbGrid 代码似乎努力在其中一种方法中缩放指标。但是,这不起作用,至少在我的笔记本电脑上是这样。

仅供参考,我已将表单的 Scaled 属性设置为 TRUE。我还在清单中尝试了几种设置,但没有任何区别。

我该如何解决这个问题。是因为这些控件使用 16 x 16 图形还是有其他原因?有没有办法在可执行资源文件中或在运行时以编程方式用更高分辨率的图形替换每个组件的图形?

标签: delphitdbgrid

解决方案


我从 TMS Software 网站上的帖子中偶然发现了答案。为了在 4k 屏幕上正确显示,必须将 DPI 感知设置为无。我在里约热内卢和东京都对此进行了测试,并且有效。对于 Rio,您可以选择 Project|Options 并转到 Application 部分。选择清单,然后从 DPI Awareness 的下拉框中选择无。

对于东京,还有项目|选项,转到应用程序并取消选中启用 DPI。


推荐阅读