AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TVirtualStringTree: nachträglich Objekt am Knoten tauschen
Thema durchsuchen
Ansicht
Themen-Optionen

TVirtualStringTree: nachträglich Objekt am Knoten tauschen

Ein Thema von Brainshock · begonnen am 16. Apr 2010 · letzter Beitrag vom 25. Sep 2010
 
Brainshock

Registriert seit: 26. Nov 2004
Ort: 37345
214 Beiträge
 
Delphi 7 Professional
 
#6

Re: TVirtualStringTree: nachträglich Objekt am Knoten tausch

  Alt 3. Mai 2010, 13:22
Hier nun meine Lösung:

1. Ich habe eine abgeleitete Klasse vom Tree erstellt:

Delphi-Quellcode:
uses
  VirtualTrees;

type
  TVirtualStringTreeEx = class(TVirtualStringTree)
  public
    procedure ReplaceNodeData(Node: PVirtualNode; UserData: Pointer);
  end;
  
implementation

{ TVirtualStringTreeEx }

procedure TVirtualStringTreeEx.ReplaceNodeData(Node: PVirtualNode;
  UserData: Pointer);
var
  NodeData: ^Pointer;
begin
  if Assigned(UserData) then
   if NodeDataSize >= 4 then
   begin
     NodeData := Pointer(PByte(@Node.Data) + TotalInternalDataSize);
     NodeData^ := UserData;
   end
end;

2. Programmcode aufs Ersetzen angepaßt:

Delphi-Quellcode:
var
  lNewData: TMyData;
  lNode: PVirtualNode;
begin
  lNode:= vstData.FocusedNode;
  // lNewData besorgen
  ...
  // Daten ersetzen
  TVirtualStringTreeEx(vstData).ReplaceNodeData(lNode, lNewData);
end;
Ich hoffe es stimmt soweit und hilft vielleicht jemanden weiter.

Danke für die Hilfe.

Gruß, Matthias
Matthias
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz