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

[修正] Firemonkey TSelection 控件等比缩放时,左下角拉动问题

发布时间:2020-12-15 04:38:34 所属栏目:大数据 来源:网络整理
导读:说明:TSelection 控件,当在属性Proportional = True 为等比缩放时,拉动左下角,右上角会跟着移动。 适用:Berlin 10.1.1 (或之前版本) Firemonkey 修正方法: 请将源码 FMX.Objects.pas复制到自己的工程目录里,再进行修改。 TSelection.GetTransformLeft

说明:TSelection 控件,当在属性Proportional = True 为等比缩放时,拉动左下角,右上角会跟着移动。

适用:Berlin 10.1.1 (或之前版本) Firemonkey

修正方法:

请将源码 FMX.Objects.pas复制到自己的工程目录里,再进行修改。

TSelection.GetTransformLeftBottom(AX,AY: Single; NewSize: TPointF; ...略...

<span style="color: #008000">{<span style="color: #008000">---> AY := AY + LCorrect.Y; // 删除代码
{+++><span style="color: #008000">}AY := AY - LCorrect.Y; <span style="color: #008000">//<span style="color: #008000"> 新增代码:修正等比缩放时,拉动左下角,右上角会跟着移动 by Aone @ 2016.10.10
<span style="color: #000000">
...略...

<span style="color: #0000ff">end;

<div class="cnblogs_code">

 TSelection.ResetInSpace(...略...

<span style="color: #0000ff">begin<span style="color: #000000">
LLocalPos.X := LAbsPos.X - ASize.X RotationCenter.X <span style="color: #000000"> Scale.X;
LLocalPos.Y := LAbsPos.Y - ASize.Y RotationCenter.Y <span style="color: #000000"> Scale.Y;
<span style="color: #0000ff">end<span style="color: #000000">;
<span style="color: #008000">{<span style="color: #008000">+++><span style="color: #008000">}<span style="color: #0000ff">if <span style="color: #0000ff">not FProportional <span style="color: #0000ff">or (FProportional <span style="color: #0000ff">and SameValue(ASize.X / ASize.Y,FRatio,<span style="color: #800080">0.0001)) <span style="color: #0000ff">then <span style="color: #008000">//<span style="color: #008000"> 加入代码
<span style="color: #000000"> SetBounds(LLocalPos.X,LLocalPos.Y,ASize.X,ASize.Y);
<span style="color: #0000ff">end;

修正前:

修正后:

QC:

(编辑:李大同)

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

    推荐文章
      热点阅读