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

时间:2019-03-19 17:09:24

标签: delphi tdbgrid

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

对于东京,还是项目|选项,请转到“应用程序”,然后取消选中“启用DPI”。