Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 设置虚拟树列表节点的标题_Delphi_Virtualtreeview - Fatal编程技术网

Delphi 设置虚拟树列表节点的标题

Delphi 设置虚拟树列表节点的标题,delphi,virtualtreeview,Delphi,Virtualtreeview,我无法理解文档中描述的流程。它说使用事件: procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: Integer; TextType: TVSTTextType; var CellText: WideString); var Data: PTreeData; begin Data:=VST.GetNodeData(Node); Cell

我无法理解文档中描述的流程。它说使用事件:

procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
                Column: Integer; TextType: TVSTTextType; var CellText: WideString);
var
    Data: PTreeData;
begin
   Data:=VST.GetNodeData(Node);
   CellText := Data^.FCaption;
end;

我该怎么做?我不能像这样重新申报。当我双击树列表
ongettextent
时,它会向我抛出一些异常“属性和方法不兼容”

您没有提到Delphi和VirtualTreeview版本,但我想这是因为
CellText:WideString
参数-在UnicodeString成为Delphi中的默认字符串类型后,它现在应该是
string
类型。把它改成

procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
          Column: Integer; TextType: TVSTTextType; var CellText: string);

我的项目出了点问题。我不知道是什么,因为我已经重新创建了它。现在GetText事件可以正常工作了。我上面的代码有效。

请告诉我们确切的消息。别让我们猜。如果我没弄错的话,GetText是用来绘制节点的。但是你说当你双击的时候例外是trows。您的DobleClick事件中有一些代码吗?将其更改为字符串不会改变任何内容。我使用Delphi2009和虚拟树列表4.8.7