FireMonkey 继承Frame存在的问题

在FireMonkey项目中,我建立一个TFrame,放置一个Text对象,然后设置:

设置Text1.Margins.Right为49。

现在我们有了一个TFrame2类,从这个类再继承一个新的TFrame。

现在我们从Frame2继承出一个Frame3,然后,我们设置Frame3:

把Text1.Margins.Right设置为0.

问题马上要出来了,我们再把Frame3放置到Form上,然后写一行代码,看看运行期Text1.Margins.Right的值为多少?

procedure TForm1.FormCreate(Sender: TObject);
begin
  Text1.Text:=Frame31.Text1.Margins.Right.ToString;
end.

这里,竟然是49!也就是说,我们在设计期,在TFrame3做的修改,会被TFrame2覆盖掉。

进一步测试,把Text1.Margins.Right设置为100,显示正常了!

再进一步测试,把Text1.Text的值进行修改,这个属性也不存在上面的问题。

猜你喜欢

转载自www.cnblogs.com/kinglandsoft/p/12394765.html