gpt4 book ai didi

delphi - 虚拟 TreeView 。如何修改子列宽度?

转载 作者:行者123 更新时间:2023-12-03 15:50:14 30 4
gpt4 key购买 nike

我的 friend 正在 Delphi 中使用 VirtualTreeView 工作,并且遇到了下一个问题:他有两列,第一列的每一行都有数据和子项。是否可以不更改第一列宽度来设置最大子列宽度?

task

图例:

  • 圆圈是节点
  • 矩形是文本(根节点的黑色矩形是两列)

现在看起来怎么样 - 看看 child 的黑色 react 角。它必须是怎样的 - 看红色矩形。

最佳答案

这称为列跨越,是的,它可以很容易地完成 - 只需将 TreeOptions -> AutoOptions -> toAutoSpanColumns 选项设置为 True 即可。它的工作方式是,如果相邻列为空,则当前列的标题将扩展到其中。由于您只希望它适用于子列,因此您必须实现 OnGetCellIsEmpty 事件并仅针对子节点返回 IsEmpty := True ,即类似

procedure TForm1.VT_GetCellIsEmpty(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; var IsEmpty: Boolean);
begin
IsEmpty := (Sender.GetNodeLevel(Node) > 0);
end;

关于delphi - 虚拟 TreeView 。如何修改子列宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18600224/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com