如何以编程方式将组件分配给 Delphi GridPanel 行和列?
How to assign a component to a Delphi GridPanel row and column programmatically?
我正在使用 Delphi 开发一个项目,我在其中动态地为 GridPanel 创建行和列。我还创建了一个面板 (TPanel),我打算将其动态放置在每个单元格中。
我的问题是:如何将新创建的面板分配给 GridPanel 中的特定单元格?
我猜我必须分配面板的 "Parent" 属性 以便它是 GridView。但是,我无法为 TPanel 调整 "Row" 或 "Column" 属性,这与使用设计环境将面板分配给 GridPanel 时不同。
您可以访问 属性
TGridPanelLayout.ControlCollection[index].row := 0;
和
TGridPanelLayout.ControlCollection[index].Column := 0;
How do you assign the newly created panel to a particular cell that is
in the GridPanel?
答案是,你不能。将新组件添加到 TGridPanel
,无论是在设计时还是以编程方式,都会将新组件放置在下一个未占用的单元格中。默认情况下,从左到右的顺序。
ExpandStyle
属性(emAddRows
或 emAddColumns
)决定 TPanelGrid
在填充时如何展开,并添加更多控件。
将新面板(或其他组件)添加到 TGridPanel
后,您可以通过 ControlCollection
属性 访问控件来更改其位置,就像其他人回答的那样.
使用:
TGridPanelLayout.ControlCollection[position].row := 0;
我正在使用 Delphi 开发一个项目,我在其中动态地为 GridPanel 创建行和列。我还创建了一个面板 (TPanel),我打算将其动态放置在每个单元格中。
我的问题是:如何将新创建的面板分配给 GridPanel 中的特定单元格?
我猜我必须分配面板的 "Parent" 属性 以便它是 GridView。但是,我无法为 TPanel 调整 "Row" 或 "Column" 属性,这与使用设计环境将面板分配给 GridPanel 时不同。
您可以访问 属性
TGridPanelLayout.ControlCollection[index].row := 0;
和
TGridPanelLayout.ControlCollection[index].Column := 0;
How do you assign the newly created panel to a particular cell that is in the GridPanel?
答案是,你不能。将新组件添加到 TGridPanel
,无论是在设计时还是以编程方式,都会将新组件放置在下一个未占用的单元格中。默认情况下,从左到右的顺序。
ExpandStyle
属性(emAddRows
或 emAddColumns
)决定 TPanelGrid
在填充时如何展开,并添加更多控件。
将新面板(或其他组件)添加到 TGridPanel
后,您可以通过 ControlCollection
属性 访问控件来更改其位置,就像其他人回答的那样.
使用:
TGridPanelLayout.ControlCollection[position].row := 0;