Delphi XE2 之 FireMonkey 入门(3) - 关于 TPosition
阅读原文时间:2023年07月11日阅读:1

把 FireMonkey 简称为 FM 吧. FM 的窗体继续使用 Left、Top 属性, 但更多控件不是了.


//FM 控件的位置控制不再是 Left、Top, 取而代之的是 Position 属性
procedure TForm1.Button1Click(Sender: TObject);
begin
  Rectangle1.Position.X := Rectangle1.Position.X + ;
  Rectangle1.Position.Y := Rectangle1.Position.Y + ;
end;

//TPosition 是类
procedure TForm1.Button2Click(Sender: TObject);
var
  posObj: TPosition;
begin
  posObj := TPosition.Create(TPointF.Create(, ));
  Rectangle1.Position.Assign(posObj);
  posObj.Free;
end;

//TPosition.Point 是 TPointF 类型的结构
procedure TForm1.Button3Click(Sender: TObject);
begin
  Rectangle1.Position.Point := TPointF.Create(, );
end;

//TPointF 结构也拥有许多方便的方法和运算符重载
procedure TForm1.Button4Click(Sender: TObject);
var
  ptf: TPointF;
begin
  ptf.X := ClientWidth / ;
  ptf.Y := ClientHeight / ;
  ptf.Offset(-Rectangle1.Width / , -Rectangle1.Height / );
  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;


手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章