2012-03-02 3 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; 

Как это сделать? Я не могу переопределить его именно так. Когда я дважды щелкните на списке Tree OnGetTextEvent это проливает исключение у меня «собственность и методы несовместимы»

+4

Пожалуйста, сообщите нам точное сообщение. Не заставляй нас гадать. –

+1

Ну, если я не ошибаюсь, GetText вызывается для рисования узлов. Но вы сказали, что исключение бросается при двойном щелчке. У вас есть код на вашем мероприятии DobleClick? –

ответ

0

С моим проектом что-то случилось. Я не уверен, что, потому что я его воссоздал. Теперь событие GetText работает правильно. Мой код выше работает.

3

Вы не говоря уже о Delphi и VirtualTreeview версии, но я предполагаю, то потому параметр CellText: WideString - оно должно быть string type теперь после того, как UnicodeString стал стандартным типом строки в Delphi. IOW изменить его на

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

Изменение его на строку ничего не меняет. Я использую Delphi 2009 и Virtual Tree List 4.8.7 –