我正在尝试让VST在其高度和宽度发生变化时自动调整大小。 我对其他已放置的VCL组件没有这个问题,其中一些组件具有像TImage这样的属性“Stretch”,可让它们自动调整。 VST仍然很顽固,并保持nodeHeights和Column的宽度。
我想我只是碰到错误的设置组合或其他东西。 任何提示都会很棒,谢谢。
答案 0 :(得分:1)
从您的帖子中我了解到,当TVirtualStringTree
宽度发生变化时,您希望按比例自动调整所有列的宽度。如果您希望在行高处也发生这种情况,您可以相应地应用以下内容。
没有设置属性列宽,但在OnResize
的{{1}}事件中很容易实现:
TVirtualStringTree
在上文中,色谱柱保持为组分宽度的50%,30%和20%。
答案 1 :(得分:0)
你需要将Header-> AutoSizeIndex设置为你的最后一列的索引,除了Header-> hoAutoResize为true。
如果您希望以编程方式执行此操作,请执行以下操作:
vt.Header.Options := vt.Header.Options + [hoAutoResize];
vt.Header.AutoSizeIndex := vt.Header.Columns.GetLastVisibleColumn;