Also ich hätte es so gemacht:
- Versehe die Unterkategorien mit einer eindeutigen Nummer (StateIndex, SelectedIndex oder ImageIndex ... Muss du gucken)
- Erstelle ein Array, in dem die Daten (z.B. das Alter) gespeichert ist, und die dazugehörige ID, ist die eindeutige ID
Wenn du jetzt auf den Button klickst, muss du nur die eindeutige Nummer abfragen und dann die Daten aus dem Array lesen.
[edit]Kennzeichne die Oberbegriffe (= Rassennamen) eindeutig (alle haben die gleichen "Eindeutigkeit") und gehe dann alle Items des TreeViews durch, und überprüfe, ob es ein Oberbegriff ist, oder ob es eine Unterkategorie.
Hier mal was praktisches
Delphi-Quellcode:
procedure getItems;
var i : Integer;
begin
// Gehe alle Items durch
for i := 0 to TreeView1.Items.Count - 1 do begin
// Wenn das Item kein Oberbegriff ist
if TreeView1.Items[i].StateIndex > 0 then
// Gebe den Namen und das ALter dazu aus
// Wobei das alter in "ages" gespeichert wurde
Showmessage('Alter von ' + TreeView1.Items[i].Caption + ' ist ' + IntToStr(ages[TreeView1.Items[i].StateIndex - 1]) + ' Jahre');
end;
end;
Hinweise: Die eindeutige Nummer ist in "StateIndex" gespeichert. 0 = Oberbegriff[/edit]
PS: Ich hoffe das war deine Fragestellung