如何在表单中居中放置对象。
在我通常使用的VCL中
lblID.Left := (MainForm.Width div 2) - (lblID.Width div 2);
但是上面的代码在FMX中不起作用,因为任何对象的宽度都是单个而不是整数。
我已经尝试了以下方法,但仍然无法将其完美居中
lblID.Position.X := (MainForm.Width div 2) - trunc(lblID.Width) div 2;
怎么了 ?
最佳答案
FMX控件的TPosition
属性以浮点格式而不是整数格式存储。无需使用整数除法。
lblID.Position.X := 0.5*(MainForm.Width - lblID.Width);
FMX : TPosition
您可能还应该查看:
Arranging FMX Controls,
FMX.Controls.TControl.Align
例如 :
lblID.Align := alHorzCenter;
可能会给你想要的。调整
Padding
属性将允许控件的垂直放置,而alHorzCenter
将使控件水平居中。