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.
Ad Blocking Gedetecteerd
Vriendelijk verzoek om te overwegen Ad Blocking uit te zetten voor onze website.
We zijn afhankelijk van inkomen uit Advertenties om de website te kunnen draaien.
Je kunt ons ook op andere manieren ondersteunen (zie Ondersteun ons).
Lazarus Pascal - Hoe voeg ik extra properties of data toe aan een TTreenode? (gebruikt in TTreeview)
Delphi, Lazarus, Free Pascal
(@hans)
Famed Member Admin
Deelgenomen: 10 jaar geleden
Berichten: 2507
Topic starter
6 augustus 2022 10:07
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 😉
Ad Blocking Gedetecteerd
Vriendelijk verzoek om te overwegen Ad Blocking uit te zetten voor onze website.
We zijn afhankelijk van inkomen uit Advertenties om de website te kunnen draaien.
Je kunt ons ook op andere manieren ondersteunen (zie Ondersteun ons).