如何在表单中居中对象。
在VCL我经常使用
lblID.Left := (MainForm.Width div 2) - (lblID.Width div 2);
但上述代码在FMX中无效,因为任何对象的宽度为单而不是整数。
我已经尝试了以下但是它并没有完美地居中
lblID.Position.X := (MainForm.Width div 2) - trunc(lblID.Width) div 2;
怎么了?
答案 0 :(得分:4)
FMX控件的TPosition
属性以浮点格式存储,而不是整数格式。没有必要使用整数除法。
lblID.Position.X := 0.5*(MainForm.Width - lblID.Width);
您可能还应该查看:
例如:
lblID.Align := alHorzCenter;
可能会让你想要你想要的。使用Padding
属性将允许垂直放置控件,而alHorzCenter
将使控件水平居中。