我有一个VCL应用程序可以执行以下操作:用户可以从工具栏中选择各种形状 (矩形,圆形,用户定义的对象)并且可以移动(和放置)在场景上(在TImage上)。 使用xor模式TPen模式实现移动。对象未填充。如何用firemonkey做到这一点? (我没有在firemonkey平台上找到xor模式笔模式)
答案 0 :(得分:1)
据我所知,FMX中没有xor笔。 FMX是一个与VCL完全不同的框架,你最好建议找到解决问题的FMX解决方案,而不是尝试编码你对VCL进行编码的方式。
因此,您需要表单上的形状。首先添加一个。例如TRectange
或TCircle
控件。像添加列表框或备忘录一样,向表单添加形状控件。形状可以在工具箱的Shapes部分找到,但是在最新版本的Delphi中,您只需在搜索框中输入以查找控件。
将形状控件添加到表单后,可以通过修改Position
属性来移动它们。例如:
Circle1.Position.X := Circle1.Position.X + 5;
这就是它的全部内容。
作为替代方案,如果您愿意,可以自己绘制形状。使用表单的OnPaint
事件,或添加TPaintBox
并在其OnPaint
事件处理程序中实现绘画。
老实说,这可能是你在VCL中应该这样做的方式。在TImage
的画布上使用xor绘画并不是很实用。