【问题标题】:VirtualTreeview enabling and disabling columnsVirtualTreeview 启用和禁用列
【发布时间】:2013-12-01 13:59:55
【问题描述】:

我有一个 VirtualTreeView,它最初隐藏了一些列(coVisible 不存在)。

启用它们后(将coVisible 添加到选项列)发生了一件奇怪的事情 - 列出现但与前一列重叠。我可以通过将宽度更改为小 1 个像素,然后返回到列的原始宽度来解决问题,这会强制重新绘制,然后正确显示列。

除了添加coVisible 以使列正确重绘之外,我还需要做些什么吗?

【问题讨论】:

  • 你试过 Header.Columns.BeginUpdate/EndUpdate 吗?
  • @kobik 我没有,它成功了!谢谢!请把它写成一个简短的答案,以便我将其标记为正确。

标签: delphi virtualtreeview


【解决方案1】:

用途:

VTV.Header.Columns.BeginUpdate;
try
  // Enable or Disable columns...
finally
  VTV.Header.Columns.EndUpdate;
end;

这应该使Header.Columns 保持同步。

【讨论】:

  • 这听起来像一个错误
  • 虽然这行得通,但我发现使用BeginUpdate/EndUpdate 设置VTV.Header.Columns[n].Position 后将不再起作用(设置新的Position 属性后值不变。因为我确实需要设置位置,相反,我恢复到将宽度设置为零然后再回到所需宽度的“技巧”。
猜你喜欢
  • 2012-08-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-29
  • 2012-02-17
相关资源
最近更新 更多