gpt4 book ai didi

delphi - TGUID 到 TTreeNode.Data 中?

转载 作者:行者123 更新时间:2023-12-03 15:19:57 26 4
gpt4 key购买 nike

我希望通过将 TGUID 放入其中来使用 TTreeNode 的数据(指针)属性。有人知道如何实现这一目标吗?

这是代码的一部分,可能会帮助你们理解我想要做什么。

if Assigned(trNode) then
begin
trNode := tvMain.Items.Add(trNode, dmMain.qryTreeView.FieldByName('SomeColumn').Text);
gID := StringToGUID(dmMain.qryTreeView.FieldByName('ID').Text);
trNode.Data := //how do I do this?

最佳答案

处理此问题的最佳方法是从 TTreeNode 派生一个新类,并为其提供一个 TGUID 数据成员,然后使用 TTreeView.OnCreateNodeClass code> 事件让 TreeView 创建类的实例。这样,RTL 就会自动为您管理 guid 值的内存(并允许您按照您希望的任何其他方式自定义节点)。要访问 guid,您所要做的就是在需要时对 TTreeNode 指针进行类型转换。例如:

type
TMyTreeNode = class(TTreeNode)
public
Guid: TGuid;
end;

procedure TMyForm.tvMainCreateNodeClass(Sender: TCustomTreeView; var NodeClass: TTreeNodeClass);
begin
NodeClass := TMyTreeNode;
end;

trNode := tvMain.Items.Add(...);
TMyTreeNode(trNode).Guid := StringToGUID(...);

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

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