把 FireMonkey 简称为 FM 吧. FM 的窗体继续使用 Left、Top 属性, 但更多控件不是了.
//FM 控件的位置控制不再是 Left、Top, 取而代之的是 Position 属性procedure TForm1.Button1Click(Sender: TObject);begin Rectangle1.Position.X := Rectangle1.Position.X + 10; Rectangle1.Position.Y := Rectangle1.Position.Y + 10;end;//TPosition 是类procedure TForm1.Button2Click(Sender: TObject);var posObj: TPosition;begin posObj := TPosition.Create(TPointF.Create(10, 10)); Rectangle1.Position.Assign(posObj); posObj.Free;end;//TPosition.Point 是 TPointF 类型的结构procedure TForm1.Button3Click(Sender: TObject);begin Rectangle1.Position.Point := TPointF.Create(50, 50);end;//TPointF 结构也拥有许多方便的方法和运算符重载procedure TForm1.Button4Click(Sender: TObject);var ptf: TPointF;begin ptf.X := ClientWidth / 2; ptf.Y := ClientHeight / 2; ptf.Offset(-Rectangle1.Width / 2, -Rectangle1.Height / 2); Rectangle1.Position.Point := ptf;end;//TVector 是包含三个元素的结构体, TPosition 可以直接使用其前两个数据procedure TForm1.Button5Click(Sender: TObject);var vector: TVector;begin vector.X := ClientWidth - Rectangle1.Width; vector.Y := ClientHeight - Rectangle1.Height;// vector.W := 0.0; Rectangle1.Position.Vector := vector;end;