Autor Beitrag
area6
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22

win 2000, suse lin 9.1
d6 personal, d7, kylix3
BeitragVerfasst: Do 13.06.02 18:06 
Kann mir mal wer die Grundlagen eines TreeView und dessen Funktionsweise, evt. mit den grundlegenden Befehlen erklären? :cry:
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Do 13.06.02 19:21 
Titel: Treenodes erstellen
Hmmm. Also, man muss wissen, dass man zum hinzufügen eines nodes ein vorhandenes node haben muss. Einen Node bekommt man, indem man z.b. GetFirstNode:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Button1Click(Sender: TObject);
var
  wurzelnode: TTreenode;
  tmp_node: TTreenode;
begin
wurzelnode:=self.TreeView1.Items.GetFirstNode;
            self.TreeView1.Items.Add(wurzelnode, 'Node1 Ebene1');
            self.TreeView1.Items.Add(wurzelnode, 'Node2 Ebene1');
  tmp_node:=self.TreeView1.Items.Add(wurzelnode, 'Node3 Ebene1');

  self.TreeView1.Items.AddChild(tmp_node, 'Node1 Ebene2');
  self.TreeView1.Items.AddChild(tmp_node, 'Node2 Ebene2');
  self.TreeView1.Items.AddChild(tmp_node, 'Node3 Ebene2');

  self.TreeView1.Items.AddChild(tmp_node.Parent, 'Und wieder zurück auf Ebene1');
end;


Als erstes weise ich wurzelnode mit hilfe von GetFirstNode den den ersten Node zu. Er zeigt auf den Treeview selbst. Nun kann ich mit der add()-Methode ein Node hinzufügen, wobei halt ein node immer übergeben werden muss und die Capion. Es muss aus dem einfachen Grund immer ein Node mit übergebe werden, weil die Add-Methode ja wissen muss, wo er diesen einhängen muss. Man kann halt keinen "leeren", in der Luft hängenden Node erstellen, der nachtträglich initialisiert wird. jede Add-Methode gibt als Rückgabewert den frisch erstellten Node zurück, Man muss diesen aber nicht wegspeichern. Beim dritten Aufruf speichere ich diesen in tmp_node. Nun füge ich weitere mit Hilfe der AddChild-Methode hinzu, d.h. es wird ein Kotenpunk angelegt und der neue wird eine Ebene tiefer angelegt. Jeder Node hat einen Parent. Auf dieser Art und weise kann man ganz einfach den Baum wieder runterklettern. :wink: Es gibt viele Möglichkeiten, einen Node zubekommen oder anzulegen. An dieser Stelle mach ich jetzt einfach mal Schluss :wink:

Bis dann,
Arakis
user defined image

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!