【发布时间】:2014-11-13 20:36:53
【问题描述】:
我需要对 TTreeViewItem 的展开/折叠用户操作做出反应。但似乎 Firemonkey 的 TTreeView/TTreeViewItem 缺少这些事件。此外,所有可用的方法 TTreeViewItem 都是私有的,不是虚拟的,所以我无法加入。 我尝试了MokeyStyler's blog 中描述的解决方案,但至少在 Delphi XE7 中它有奇怪的副作用:
- 事件触发两次;
- 当您展开 TreeViewItem2(示例名称)时,会为 TreeViewItem1 触发该事件。
我正在使用 Delphi XE7
有什么建议吗? :)
【问题讨论】:
-
我不明白你的第二点,“该事件触发了尚未分配 OnChangeExpanded 的 TTreeViewItem 项。” OnChangeExpanded是触发的事件,不赋值怎么触发呢?
-
@MikeSutton 我的意思是当您展开 TreeViewItem2 时,分配给 TreeViewItem1 的事件会被触发。我会改进那个子弹。
-
在这种情况下,样式系统听起来有些奇怪(样式缓存可能会出现问题)。我会回来的,但可能需要几天时间。
-
@MikeSutton 我认为它与重新触发动画的 Realign 方法有关。但我找到了答案,我目前正在添加它。
标签: delphi firemonkey collapse expand treeviewitem