[修正] Firemonkey TSelection 控件等比缩放时,左下角拉动问题
说明:TSelection 控件,当在属性 Proportional = True 为等比缩放时,拉动左下角,右上角会跟着移动。
适用:Berlin 10.1.1 (或之前版本) Firemonkey
修正方法:
请将源码 FMX.Objects.pas 复制到自己的工程目录里,再进行修改。
procedure TSelection.GetTransformLeftBottom(AX, AY: Single; var NewSize: TPointF; var Pivot: TPointF); ...略... {---> AY := AY + LCorrect.Y; // 删除代码 {+++>}AY := AY - LCorrect.Y; // 新增代码:修正等比缩放时,拉动左下角,右上角会跟着移动 by Aone @ 2016.10.10 ...略... end;
procedure TSelection.ResetInSpace(const ARotationPoint: TPointF; ASize: TPointF); ...略... begin LLocalPos.X := LAbsPos.X - ASize.X * RotationCenter.X * Scale.X; LLocalPos.Y := LAbsPos.Y - ASize.Y * RotationCenter.Y * Scale.Y; end; {+++>}if not FProportional or (FProportional and SameValue(ASize.X / ASize.Y, FRatio, 0.0001)) then // 加入代码 SetBounds(LLocalPos.X, LLocalPos.Y, ASize.X, ASize.Y); end;
修正前:
修正后:
QC:
https://quality.embarcadero.com/browse/RSP-16061
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞