2017-01-16 6 views
0

Align = CenterでMyLayout(TLayout)を含むMyFrame(TFrame)があります。 私はMyLayoutとそのコンテンツを縮小/拡大するためにMyFrame.Scaleを使用します。スケーリングは正常に動作します。スケーリング後にMyFrame内でMyLayoutを視覚的に集中させる方法に関する考えはありますか?スケーリング後にTLayoutを中央に揃える方法

+0

デザイン時にスケールを変更すると、MyLayoutの位置が自動的に修正されます。 – Hans

答えて

0
MyLayout.Position.X := (Self.Width - MyLayout.Width*newScale.X)/2; 
MyLayout.Position.Y := (Self.Height - MyLayout.Height*newScale.Y)/2; 
0

あなたはTGridPanelLayoutにレイアウトを置くことができます:http://docwiki.embarcadero.com/Libraries/Seattle/en/FMX.Layouts.TGridPanelLayout

あなたは4行4列のグリッドを持っている場合は、セル内のレイアウトを置くことができる[1,1] = 2 ROWSPANとし、 ColumnSpan = 2とし、TGridPanelLayoutとMyLayoutのAlignプロパティをClientに変更します。次に、レイアウトは常に中央に配置されます。

関連する問題