2012-03-02 19 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