我有一个TListView
有2列 - 每个都是自动调整的。只要我向组中添加项目,该组就会崩溃(lgsCollapsed
)。不幸的是,由于ListView中的错误对齐,这看起来有点“丑陋”:
它会自动“隐藏”小的[+/-]切换,我不知道为什么。 我甚至不确定这是故意还是只是一个错误...... 当我在运行时更改Listview的大小(宽度)时,它会重新对齐并且切换回来就好了(或者当我移动滑块时)。如何在添加新项目后立即重新对齐/重新启动小切换?
答案 0 :(得分:1)
您正在对列进行自动调整,因此组中可能有一个项目会使列变得比您想要的更大。您可以在添加组/项后根据需要调整TListColumn.Width
的大小,以确保列不超过ListView的客户区。调用GetSystemMetrics(SM_CXVSCROLL)
获取垂直滚动条的宽度,然后从TListView.ClientWidth
值中减去该宽度,然后循环浏览TListView.Columns
(或只访问最后一个TListColumn
)进行调整每个列的Width
根据需要,以便所有宽度的总和不超过计算的客户区。