TShape - 关于Paint事件

时间:2017-07-04 15:22:46

标签: windows firemonkey delphi-10.1-berlin

我被困在一个派生自TShape的课程中。

Paint方法中,我使用Canvas绘制一个矩形。在表单中,我有一个TTrackBar,可以更改Left的{​​{1}}和Top坐标。

使用TShape设置为LeftTop的值无关紧要,矩形不会相应移动。相反,当我通过代码设置这些值时,矩形出现在正确的位置。

我在Windows 10上使用Delphi 10.1 Berlin编写FireMonkey应用程序。

TTrackBar

1 个答案:

答案 0 :(得分:0)

对不起伙计!使用Left& Top代替Position.X& Position.Y。我同意新的Position方式设置Left& Top,但Embarcadero仍然提供此属性没有意义,但他们在设置Left&对照的Top。换句话说,由于那些旧的属性仍然可用,他们应该设置Left&与Top相同的Position.X属性& Position.Y,否则会导致这种错误,你知道你在设置Left& Top,但控件不会移动。

设置Left&的正确方法Top是:

Position.X := aLeft;
Position.Y := aTop;

除非Embarcadero改变Left&的行为。 Top属性(非常不可能)。