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

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

1 Berichten
1 Gebruikers
0 Vind-ik-leuks
468 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 10 jaar geleden
Berichten: 2507
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

Bevalt je wat je hier ziet, en wil je graag helpen? 

Uiteraard is de beste manier van helpen, door anderen hier te helpen met hun vragen. Maar je kunt ons ook op andere manieren helpen:

- Shop bijvoorbeeld bij Amazon, het kost je niks extra, maar het kan zijn dat wij een kleine commissie ontvangen,
- stuur me een koffie via PayPal ($5, $10, $20, or zelf kiezen),
- je kunt ook een Patreon worden,
- of BitCoin (BTC), of BitCoinCash (BCH) doneren.

Deel: