【问题标题】:Show TTreeViewItem's Expander button显示 TTreeViewItem 的 Expander 按钮
【发布时间】:2015-01-08 16:01:56
【问题描述】:

我有一个 FireMonkey 应用程序,它在 TTreeView 中显示项目列表。一些项目代表叶对象,其他代表容器。 我的想法不是一次预加载整个树。我只想在用户单击特定容器项后将子项添加到容器中。

为此,我需要向用户显示相应的项目是一个容器:

有什么方法可以显示特定 TTreeViewItem 的扩展器而不添加任何子项,使用样式、RTTI 等?

我正在使用 Delphi XE7。

【问题讨论】:

  • 我总是使用添加“虚拟”项目的技巧,然后在用户展开节点时捕获事件,检查该虚拟项目,删除它并填写真实项目。非常适合在计算机上浏览目录,但我之前从未在 Firemonkey 中使用过它。
  • @JerryDodge,让您的评论成为答案。看来这是一个可以接受的解决方案:)

标签: delphi treeview firemonkey expander delphi-xe7


【解决方案1】:

在每个未扩展的节点中使用“虚拟”节点有一个常见的技巧。每个具有项目的节点都将只有一个空子节点。当用户展开该节点时,检查此虚拟节点。如果有,删除它,然后填写真实的项目。我不确定 Firemonkey 和 VCL 中的树视图有多相似,但这个概念应该是一样的。

【讨论】:

    猜你喜欢
    • 2019-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多