2012-03-02 45 views
2

我无法理解文档中描述的过程。它说使用事件:设置虚拟树列表节点的标题

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; 

我该怎么做?我不能像这样重新宣布它。当我双击树列表OnGetTextEvent它在我抛出一些异常“属性和方法是不兼容的”

+4

请告诉我们确切的消息。不要让我们猜测。 – 2012-03-02 14:52:43

+1

那么,如果我没有弄错,GetText被称为绘制节点。但是当你双击时,你说这个例外是被打断的。你的DobleClick活动有一些代码吗? – 2012-03-02 16:49:38

回答

0

我的项目出了问题。我不确定是什么,因为我重新创建了它。现在GetText事件正常工作。我的代码上面的作品。

3

你不提了Delphi和VirtualTreeview版本,但我猜是因为CellText: WideString参数这就是 - 它应该是string在UnicodeString成为Delphi中的默认字符串类型后立即键入。 IOW将其更改为

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

将其更改为字符串不会改变任何内容。我使用Delphi 2009和虚拟树列表4.8.7 – 2012-03-05 07:03:31