- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望通过将 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/
TTreeNode 没有 Visible 属性,因此不存在明显的选项。有没有其他方法可以使 TTreeNode 及其所有子节点不可见?当然,我希望稍后能够使其再次可见。 这是使用 Delphi 200
当我需要查找 TTreeView 中的第一个节点时,我调用 TTreeNodes.GetFirstNode。但是,我有时需要定位树中的最后一个节点,但没有相应的 TTreeNodes.GetLastN
我正在编写一个 delphi 2009 应用程序,它在对接面板上使用 TTreeView。 我发现如果我对 TTreeNode 进行子类化,我可以在我的应用程序中进行很大的简化。它所在的 TreeVi
我希望通过将 TGUID 放入其中来使用 TTreeNode 的数据(指针)属性。有人知道如何实现这一目标吗? 这是代码的一部分,可能会帮助你们理解我想要做什么。 if Assigned(trNode
我在 TTreeView 对象中显示项目。当一个 Item 有子项时,控件会在图标旁边绘制一个 >(如果展开,则绘制一个向下的箭头)。 我想知道我是否可以告诉 Item 以某种方式绘制 >,即使还没有
我正在尝试在内存中构建几个“树”,然后将其中一个分配给用户可以与之交互的 TTreeView 控件。但是,如果不传递指向现有 TTreeView 的指针,我就无法构造任何 TTreeNodes 对象。
我是一名优秀的程序员,十分优秀!