【发布时间】:2022-08-14 01:24:25
【问题描述】:
我在 C++Builder 中的应用程序使用具有几个派生 TTreeNode 类的节点的 VCL TTreeview。更改 Windows 主题后,树视图会以某种方式重新创建,而不仅仅是重新绘制。在重新创建期间,派生的树节点析构函数被调用,但它们的构造函数未被调用。看起来新节点都是基本的 TTreeNode 类型,而不是派生类型。因此,派生类的所有方法和属性都会在此过程中丢失。
另外,在游戏过程中,节点在TreeView->Items(TTreeNodes)中获取新地址,如果在某个节点的长时间动作中发生主题变化,以创建子节点结束,即必须将孩子添加到不再存在的父地址。
有没有办法防止主题更改对 TTreeView 及其节点产生影响?或者任何其他解决方案?
标签: treeview nodes c++builder vcl ttreenodes