为什么清除画布会清除Firemonkey中的父画布?

时间:2016-01-03 10:13:11

标签: delphi firemonkey

如果我为TPaintBox执行以下操作,则清除父控件以及paint控件:

canvas.BeginScene;
canvas.Clear(TAlphaColors.Gray);
canvas.EndScene;

如果我切换到ClearRect,它会正常工作:

canvas.BeginScene;
canvas.ClearRect(TRectF.Create(0, 0, width, height), TAlphaColors.Gray);
canvas.EndScene;

我猜它是因为绘图框正在共享父母画布并清除它的作品,但是明确的rect做了正确的事情。谁能证实这一点?

1 个答案:

答案 0 :(得分:1)

paintbox从父控件继承其画布。它只是实现绘画方法。如果您想要不同的东西,请举例如一个面板,并使其成为paintbox的父级。