gpt4 book ai didi

delphi - 如何在 FireMonkey 中缩放屏幕?

转载 作者:行者123 更新时间:2023-12-03 18:09:17 25 4
gpt4 key购买 nike

使用 C++ Builder v. 10.2.3,我想将正在调整大小的 TForm 居中。为此,我使用 TScreen::WorkArea 值。但是,在 Windows 10 缩放比例为 125% 的系统上运行时,代码无法正常工作,因为 TForm 已放大。如何确定是否发生这种缩放,然后进行相应调整? FireMonkey 中是否有内置功能可以执行此操作?我应该注意到,在 Windows 10 中缩放 > 100% 时,TForm::TPosition 值似乎无法正常工作 - 例如,将其设置为 ScreenCenter 似乎有类似的问题,它实际上并未居中。

最佳答案

此函数将返回屏幕缩放比例,即 1.25(如果您在 Windows 上使用 125% 缩放比例):

function GetScreenScale: Single;
var ScreenService: IFMXScreenService;
begin
Result := 1;
if TPlatformServices.Current.SupportsPlatformService (IFMXScreenService, IInterface(ScreenService)) then
Result := ScreenService.GetScreenScale;
end;

请注意,在 Mac 上,唯一可能的屏幕缩放比例是 1.0(非视网膜)和 2.0(视网膜)。然而,在 Mac 上,TScreen 返回的值已经经过缩放,因此不需要校正。

关于delphi - 如何在 FireMonkey 中缩放屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51976097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com