在 4K 显示器上缩放 DbGrid 指示器和 DbNavigator 图标

Scaling DbGrid Indicator and DbNavigator Icons on 4K display

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

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

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

仅供参考,我已将表单的 Scaled 属性 设置为 TRUE。我还在清单中尝试了几种设置,但 none 有所不同。

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

我偶然发现了 TMS 软件网站上 post 的答案。为了在 4k 屏幕上正常显示,DPI 感知必须设置为 none。我在里约热内卢和东京都对此进行了测试,并且有效。对于 Rio,您可以 select Project|Options 并转到“应用程序”部分。 Select 清单和 DPI 感知的下拉框,select None。

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