Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Deel:
Meldingen
Alles wissen

[Opgelost] Lazarus Pascal - Hoe voeg ik extra properties of data toe aan een TTreenode? (gebruikt in TTreeview)

1 Berichten
1 Gebruikers
0 Reactions
689 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 11 jaar geleden
Berichten: 2762
Topic starter  

Hoe voegen we extra data toe aan treenodes in een treeview?

Ik vond het verrassend makkelijk m.b.v. een eigen TreeNode variant ...

TMyTreeNode = class(TTreeNode)
private
  fANewProperty: String;
public
  property ANewProperty: String read fANewProperty write fANewProperty;
end;

 

We moeten er bij het aanmaken van een nieuwe  node wel voor zorgen dat de treeview het juiste treenode type gaat gebruiken en dat doen we in onCreateNodeClass:

procedure TForm1.TreeView1CreateNodeClass(Sender: TCustomTreeView; var NodeClass: TTreeNodeClass);
begin
  NodeClass := TMyTreeNode;
end;

 

We kunnen de extra data nu schrijven/lezen met een type cast:

TMyTreeNode(TreeView1.Selected).ANewProperty := 'some text';

 

Merk op: ik gebruik hier een eenvoudige string, maar je kunt hier hele records aan hangen 😉 


   
BeantwoordenCiteren
Deel: