20

我想用Delphi的2009 TGridPanel,但不明白如何正确使用。

例如,我想要一个有 4 列的 GridPanel,每列应该有 GripPanels 宽度的 25%。

所以我在表单上放了一个 GripPanel 并添加了 4 个 ColumnItems。我给列项 SizeStyle ssPercent,现在我尝试给每个 ColummItem 一个值 25(对象检查器)。但由于某些原因,对象检查器不接受值 25。它会自动更改为“23,8095238095238”之类的值。有人可以简单地解释一下如何使用这些组件吗?谢谢!

4

2 回答 2

18

如果要将所有列设置为相同的值,请在结构视图中选择所有列,然后(假设 SizeStyle 已设置为 ssPercent)将值设置为0。这将触发一些自动化,使所有列的大小相等。

于 2010-10-01T11:31:08.507 回答
15

当您使用 设置Value列的 时SizeStyle ssPercent,组件会分配所有 ssPercent 样式列的新总和以获得可用的总百分比。例如,如果您有 4 个 25% 的列,并且您将其中的一个设置为 50%,那么现在您总共有 125%。该组件再次计算“值”以使总数按比例分配,即 50% -> 40% (100*50/125) 。

要一次设置多个列的值,在运行时您可以用GridPanel.ColumnCollection.BeginUpdate和包围您的代码GridPanel.ColumnCollection.EndUpdate

并在设计时.dfm直接编辑。在设计编辑器中查看表单时按“Alt+F12”,在文本编辑器中找到 GridPanel,编辑那里的列值,然后再次按“Alt+F12”返回设计视图。

于 2010-10-01T10:47:50.683 回答