我有一些应用程序,但不是全部,当我在RAD IDE中打开表单时,“神奇地”将表单扩展到1.23倍。例如,947像素的表格宽度突然跳跃到1166像素。可疑 - 接近像素比率为120/96(比率为1.25),但缩放比例始终接近1.23(根据例如形状宽度和高度得出的较大整数比判断)。 p>
我可以查看.dfm文件并查看原始数字,而在IDE中,值已被更改(例如,高度和宽度已扩展,控件位置已调整,字体大小已增加)。
我知道缩放和dpi是一个雷区,但我(据我所知)没有改变任何相关设置。
对于影响和不影响的项目,表单的Scaled
属性设置为“true”,PixelsPerInch
属性设置为96.我的开发机器的屏幕分辨率设置为100 %。这是应该避免这些问题的设置。
我搜索了项目和IDE配置文件,但没有做出任何努力,以找出有这个问题的项目可能有什么不同,而不是。
受影响(和未受影响)的项目都是已经开发多年的项目 - 仅在上周我才发现这种行为。据我所知(我是唯一的开发人员),我没有做任何与缩放,dpi等相关的代码/配置更改。
有没有人知道可能会发生什么?
虽然我使用的是CBuilder XE3,但我还是用Delphi XE3标记了这个问题,因为我认为这是一个RAD Studio问题。
编辑1:我还注意到,对于每个修改过的控件,IDE会引入以下附加行(即除了修改Top
,Left
,Width
,{ {1}}和Height
):
Font.Height
对于TImages,它还添加了
Margins.Left = 4
Margins.Top = 4
Margins.Right = 4
Margins.Bottom = 4
编辑2:奇怪的是,当IDE缩放表单时,不将表单标记为已修改 - 即表单在进行“实际”更改之前不会被修改(例如,重新定位控件)。如果在使用修改后的比例保存后第二次打开表单,则不会进一步缩放 - 这似乎是一次性效果,但似乎没有任何“未经过任何缩放”的标记配置文件:)