加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

用于高DPI Windows的Delphi Firemonkey Scale

发布时间:2020-12-15 04:21:01 所属栏目:大数据 来源:网络整理
导读:我认为在FireMonkey中扩展应用程序应该很容易,因为它应该也适用于Retina-Mac.似乎有一些背景魔法选择了另一种风格,但在 Windows中似乎并非如此. 在VCL中有TForm.Scaled个工作(或多或少). 对于FireMonkey,我发现了这个Article by Embarcadero,但似乎Embarcade
我认为在FireMonkey中扩展应用程序应该很容易,因为它应该也适用于Retina-Mac.似乎有一些背景魔法选择了另一种风格,但在 Windows中似乎并非如此.

在VCL中有TForm.Scaled个工作(或多或少).

对于FireMonkey,我发现了这个Article by Embarcadero,但似乎Embarcadero不太确定这种方法是否有用,因为在XE5中,sampleproject“ControlsDemo”不再包含scale-trackbar.它还需要在所有形式中都存在root-TLayout,可以设置比例因子.我的表单中没有这样的元素(我害怕添加一个,因为我不能确定我是否运行另一个firemonkey bug).

那么如何使用FireMonkey考虑不同的DPI设置?

编辑:我试图破解TPlatFormWin并将CurrentScreenScale设置为2但它不起作用:我有黑色工具栏,但没有缩放,但至少它使用了提供的TImage.MultiResBitmap中的HighRes替代.

解决方法

你可以做这样的事情来改变根TLayout:

100是默认值

if windowsscale>0 then begin
  LayoutScale.height:=ClientHeight*100/windowsscale;
  LayoutScale.Width :=Clientwidth*100/windowsscale;
  LayoutScale.Scale.X:=windowsscale/100;
  LayoutScale.Scale.Y:=windowsscale/100;
end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读