Delphi TVirtualStringTree:OnGetText事件中的列参数是什么?

Delphi TVirtualStringTree:OnGetText事件中的列参数是什么?,delphi,virtualtreeview,tvirtualstringtree,Delphi,Virtualtreeview,Tvirtualstringtree,OnGetText事件过程定义为: TVSTGetTextEvent = procedure (Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: UnicodeString) of object; 此事件的文档CHM帮助文件仅说明: 使用其他资源,如新闻组或Delphi Gems消息 在黑板上找到描述 我在上看到了一些其他帖子,所以在

OnGetText事件过程定义为:

TVSTGetTextEvent = procedure (Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: UnicodeString) of object;
此事件的文档CHM帮助文件仅说明:

使用其他资源,如新闻组或Delphi Gems消息 在黑板上找到描述

我在上看到了一些其他帖子,所以在这个事件中他们在哪里检查(列<0),所以我很好奇这是什么


FWIW,我正在尝试从数据库数据实现父子树视图。

您可以在虚拟树的
标题中定义列。columns
集合。传递给给定的任何事件方法的
参数是此集合中该列的基于0的索引


Column
参数值可以是已处理列的基于0的索引,也可以是
NoColumn
(其内部值为-1),这表示虚拟树中没有列。

在什么情况下是(列<0)?我使用的不是Header.Columns(网格布局),而是一个适当的树视图布局。以防虚拟树中没有列。但这种测试是错误的。如果Column=NoColumn,那么它应该是
。通常,如果树中没有列,则根本不需要测试此参数。列对象的
Position
属性是该列的运行时位置,因为用户可能会使用拖放对列重新排序。