TGridLayout与TGridPanelLayout的区别

分类: Delphi10 |
TGridLayout在同样大小的单元格中排列子控件,ItemHeight及ItemWidth指定单元格的高度与宽度,子控件的高度(Height)与宽度(Wdith)自动按单元格的高度与宽度设置,即使改变也会被忽略。如果不想让子控件填满单元格,则可以通过改变子控件的边距(Margins)属性来设置。使用TGridLayout布局控件,其子控件的Position,Align,Anchors属性都自动设置,忽略你对这些属性值的修改。
有个经验,如果将ItemWidth设置为-1,则单元格的宽度自动按TGridLayout的宽度进行等分计算,ItemHeight也如此。
TGridPanelLayout在一个Grid Panel中排列子控件,每个子控件放在一个单元格中,与TGridLayout不同,需要手工设置子控件的大小与以及在单元格中的对齐方式,正因如此,使用TGridPanelLayout做界面布局,需要指定子控件的度度(Height)与宽度(Width),如果需要设置子控件的对齐方式,则要指定子控件的Align及Anchors属性。
使用GridPanelLayout,还可以设置一个子控件合并几个单元格来显示,如下图,B4显示在两个单元格中,B5显示在四个单元格中,B8显示在三个单元格中。
http://s10/mw690/001gjF9lzy6XUUVb5Pj39&690
参考FireMonkey Layouts Strategies.
有个经验,如果将ItemWidth设置为-1,则单元格的宽度自动按TGridLayout的宽度进行等分计算,ItemHeight也如此。
TGridPanelLayout在一个Grid Panel中排列子控件,每个子控件放在一个单元格中,与TGridLayout不同,需要手工设置子控件的大小与以及在单元格中的对齐方式,正因如此,使用TGridPanelLayout做界面布局,需要指定子控件的度度(Height)与宽度(Width),如果需要设置子控件的对齐方式,则要指定子控件的Align及Anchors属性。
使用GridPanelLayout,还可以设置一个子控件合并几个单元格来显示,如下图,B4显示在两个单元格中,B5显示在四个单元格中,B8显示在三个单元格中。
http://s10/mw690/001gjF9lzy6XUUVb5Pj39&690
参考FireMonkey Layouts Strategies.