Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TTreeNode ableiten (https://www.delphipraxis.net/18499-ttreenode-ableiten.html)

MasterC 19. Mär 2004 19:14


TTreeNode ableiten
 
Hi, ich möchte TTreeNode eine neue Eigenschaft hinzufügen und zwar nicht durch eine neue Klasse wie hier:

Delphi-Quellcode:
Type TParsItem = Class(TTreenode)
 public
 Zeile: Integer;
end;
Ich möchte ja auch durch den Treeview auf die Eigenschaft zugreifen. Deshalb möchte ich TTreeNode direkt eine neue Eigenschaft hinzufügen.

Christian Seehase 19. Mär 2004 19:17

Re: TTreeNode ableiten
 
Moin Ganxta,

dazu könntest Du, als Workaround, die Eigenschaft Data von TTreeNode nutzen.
Hier übergibst Du dann einfach den Pointer auf eine Variable die den zusätzlichen Wert enthält.
In Deinem Falle, einem Integer, kannst Du den Wert auch direkt dort Speichern, Du müsstest nur einen Typecast durchführen.

MasterC 19. Mär 2004 19:23

Re: TTreeNode ableiten
 
Schön und gut, aber kannst du mal bitte ein Bespiel liefern?

MfG ganxta.

Christian Seehase 19. Mär 2004 20:28

Re: TTreeNode ableiten
 
Moin Ganxta,

ja, kann ich: ;-)

Delphi-Quellcode:
var
  Zeile : integer;

begin
  // irgendwas, was Zeile mit einem Wert füllt
  Treeview1.Items[0].Data := Pointer(Zeile);
end;

MasterC 20. Mär 2004 10:18

Re: TTreeNode ableiten
 
Und wie kann ich auf den Pointer von dem Treeview zugreifen?

Delphi-Quellcode:
treeview1.Selected.Data....?

Christian Seehase 20. Mär 2004 12:59

Re: TTreeNode ableiten
 
Moin Ganxta,

indem Du das ganze umdrehst:

Delphi-Quellcode:
var
  Zeile : integer;

begin
  Zeile := integer(Treeview1.Items[0].Data);
end;

MasterC 20. Mär 2004 14:45

Re: TTreeNode ableiten
 
Ahso, THX.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz