Delphi 11表单设计器缩放

blpfk2vs  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(88)

我刚刚下载并安装了Rad Studio 11的试用版在联想Yoga 720上,内存为16GB,运行Win 10 Pro。笔记本电脑支持4K分辨率。
在IDE中设计的窗体在应用程序以per Monitor v2设置运行时显示不一样。
我创建了一个新的VCL应用程序,并在上面放置了一个DBNavigator。表单和DBNavigator都很小。当我运行应用程序时,表单和导航器显示正确,大小正常,包括导航器上的位图。
接下来,我进入Tool\Options\User Interface\Form Designer\High DPI,将VCL Designer High DPI Mode模式从Low DPI(96 PPI)更改为Automatic(Screen PPI)。在设计器中,表单仍然显示为小,当我运行应用程序时,表单显示正常大小,位图正确缩放。
接下来,我按F12两次。表单保持相同的尺寸(小),导航器缩放到正常大小。当我运行应用程序时,我得到了与以前相同的结果(正常大小的表单,导航器和位图)。
最后,我保存并重新打开项目。表单仍然很小,导航器的大小是正确的,导航器上的位图也很小。运行应用程序会生成一个小表单,一个正常大小的导航器和小位图。
即使我创建了一个新的VCL应用程序,并且已经设置了自动(屏幕DPI),设计和运行时表单也是不同的。在设计模式下,表单,导航器和位图是正常大小。在运行时,表单和导航器是正常大小,但位图很小。
是否有什么不同的,我需要做的所有工作的方式,人们会期望(即,应用程序显示完全按照设计与自动(屏幕DPI)打开)?

vsnjm48y

vsnjm48y1#

您是否已经尝试过DPI不感知模式/版本的RADStudio?这应该会导致所有元素的统一缩放。缺点是,您需要自己缩放应用程序。例如,

function Calc4k(input: Integer):Integer;
begin
  result := MulDiv(Input, Screen.PixelsPerInch, 96);
end;

字符串
另一种可能的解决方案可能是:
您应该尝试恢复到LowDPI设置。自动DPI(至少对我来说)在调整窗体大小方面造成了更多问题。我在4K显示器上使用低DPI设置运行,它在 Delphi 11. 3的正常版本中工作正常,在 Delphi 12中也是如此。
此外,以防万一:如果位图是自定义的,您需要自己缩放它们,例如使用上面代码片段中的函数:Calc 4k(input)

相关问题