gpt4 book ai didi

delphi - delphi 中子类化 TTreeNode 的问题

转载 作者:行者123 更新时间:2023-12-02 10:50:07 24 4
gpt4 key购买 nike

我正在编写一个 delphi 2009 应用程序,它在对接面板上使用 TTreeView。

我发现如果我对 TTreeNode 进行子类化,我可以在我的应用程序中进行很大的简化。它所在的 TreeView 放置在对接面板上。

TInfoTreeNode=class(TTreeNode)
private
// remember some stuff
public
end;

procedure TfraInfoTree.tvInfoCreateNodeClass(Sender: TCustomTreeView;
var NodeClass: TTreeNodeClass);
begin
NodeClass:=TInfoTreeNode;
end;

我想我已经碰壁了...每个“TInfoTreeNode”实例都需要记住关于它自己的事情。由于当包含 TTreeView 自动隐藏的面板时句柄被释放,因此类被销毁。

这是一个问题,因为类所知道的一切都会被遗忘。

有没有办法解决这个问题(除了再次从数据库重新加载每个 TInfoTreeNode 之外)?

谢谢!

最佳答案

IIRC,每个 TTreeNode 实例上的 Tag Data 属性通过句柄重建得以保留。

您可以将其用作包含带有附加信息的对象的列表的索引,或者使用类型转换来存储对象引用并直接访问对象。

关于delphi - delphi 中子类化 TTreeNode 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1837005/

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