delphi - 显示 TTreeViewItem 的 Expander 按钮

标签 delphi treeview firemonkey expander delphi-xe7

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

为了实现这一点,我需要向用户展示相应的项目是一个容器:

enter image description here

有没有办法使用样式、RTTI 等来显示特定 TTreeViewItem 的扩展器而不添加任何子项

我使用的是 Delphi XE7。

最佳答案

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

关于delphi - 显示 TTreeViewItem 的 Expander 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26876178/

相关文章:

delphi 2006,自定义组件中的SynTaskDialog编译错误

android - Delphi Android 内存泄漏(或其他减速)

windows - 如何正确地在任务栏中显示无模式表单

c# - 将对象分配给c#中的treeview子节点以识别父节点

Silverlight 4 TreeView MVVM WCF

treeview - Visual Studio 2013 中的源代码管理资源管理器,保持最后一个树状态打开

delphi - 为什么MessageDlg在Windows下只显示 "OK"按钮?

android - 在 Firemonkey 中获取 Android 设备和操作系统信息

delphi - 返回对象时为什么不直接使用Result变量呢?

delphi - 以文本形式获取方法