如何在firemonkey平台上移动2d对象?

时间:2014-06-06 15:30:16

标签: delphi firemonkey

我有一个VCL应用程序可以执行以下操作:用户可以从工具栏中选择各种形状 (矩形,圆形,用户定义的对象)并且可以移动(和放置)在场景上(在TImage上)。 使用xor模式TPen模式实现移动。对象未填充。如何用firemonkey做到这一点? (我没有在firemonkey平台上找到xor模式笔模式)

1 个答案:

答案 0 :(得分:1)

据我所知,FMX中没有xor笔。 FMX是一个与VCL完全不同的框架,你最好建议找到解决问题的FMX解决方案,而不是尝试编码你对VCL进行编码的方式。

因此,您需要表单上的形状。首先添加一个。例如TRectangeTCircle控件。像添加列表框或备忘录一样,向表单添加形状控件。形状可以在工具箱的Shapes部分找到,但是在最新版本的Delphi中,您只需在搜索框中输入以查找控件。

将形状控件添加到表单后,可以通过修改Position属性来移动它们。例如:

Circle1.Position.X := Circle1.Position.X + 5;

这就是它的全部内容。

作为替代方案,如果您愿意,可以自己绘制形状。使用表单的OnPaint事件,或添加TPaintBox并在其OnPaint事件处理程序中实现绘画。

老实说,这可能是你在VCL中应该这样做的方式。在TImage的画布上使用xor绘画并不是很实用。