AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TreeView: TreeNode -> untergeordneter Eintrag
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView: TreeNode -> untergeordneter Eintrag

Ein Thema von Die Muhkuh · begonnen am 18. Apr 2004 · letzter Beitrag vom 20. Mär 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 08:56
Hoi?,



und gleich wieder eine Frage:

Ich hab ein TreeView auf meiner Form. Jetzt möcht ich da Items reinstopfen. Das ist kein Problem.

Code:
Kategorie1
Ketegorie2
^^ So sieht das dann aus.

Wie schaffe ich aber das es auch so geht:

Code:
Kategorie1
  + Untereintrag <- Das hinzufügen
  + Untereintrag <- Das hinzufügen
Ketegorie2
.
.
.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 09:00
Hai Spider,

das Problem hatte ich bei meiner Code-Library auch
Wo gibst Du denn an zu welcher Kategrie ein Untereintrag gehört?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 09:00
Delphi-Quellcode:
var LNode: TTreeNode;
begin
  LNode := Treeview1.Items.Add(TreeView1.Items.GetFirstNode, 'Kategorie1');
  TreeView1.Items.AddChild(LNode, 'Untereintrag1');
  TreeView1.Items.AddChild(LNode, 'Untereintrag2');
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 09:05
@Sharky

wie meinst?



@Sir

noch nicht ganz.

Die Kategorie ist schon erzeugt. Unter diese Kategorie soll nun ein Eintrag.

Das steht schon da:

Code:
Kategorie1
Kategorie2
und jetzt kann man zu jeder Kategorie noch einen Untereintrag machen können.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 09:20
Vielleicht so?

Delphi-Quellcode:
var
 i: Word;
 Node: TTreeNode;
begin
 Assert(TreeView1.Items.Count > 0);
 with TreeView1 do
 begin
   Node := Items[0];
 repeat
   Items.AddChild(Node, 'Untereintrag');
   Node := Node.GetNextSibling
 until Node = nil;
end;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 09:29
Zitat von Spider:
@Sharky
wie meinst?
Ich meine nur das ich das selbe Problem bei meinem Projekt hatte.

Aber die Frage bleibt: Wo/Wie wird in deinem Programm festgelegt zu welcher Kategorie ein neuer Eintrag gehört?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 09:43
Delphi-Quellcode:
function FindRootNode(ACaption: String; ATreeView: TTreeView): TTreeNode;
var LCount: Integer;
begin
  result := nil;
  LCount := 0;
  while (LCount < ATreeView.Items.Count) and (result = nil) do
  begin
    if (ATreeView.Items.Item[LCount].Text = ACaption) and (ATreeView.Items.Item[LCount].Parent = nil) then
      result := ATreeView.Items.Item[LCount];
    inc(LCount);
  end;
end;
Aufruf:
Delphi-Quellcode:
var LDestNode: TTreeNode;
begin
  LDestNode := FindRootNode('Kategorie1', TreeView1);
  if LDestNode <> nil then
  begin
    TreeView1.Items.AddChild(LDestNode, 'Untereintrag1');
    TreeView1.Items.AddChild(LDestNode, 'Untereintrag1');
  end;
end;
[Edit2]Um allen Kritiken gerecht zu werden zur Funktion umgebaut[/Edit2]
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 09:47
@Sir


so ists perfect!
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#9

Re: TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 09:49
@SirThornberry: Der Ansatz mit einer for-Schleife kann nicht funktionieren, da sich beim
Hinzufügen von Items die Item-Zahl erhöht aber TreeView1.Items.Count konstant bleibt,
da's nur einmal aufgerufen wird.

Dein Code fügt nur Kategorie1 etwas hinzu, nicht aber Ketegorie2
(auch wenn Ketegorie2 Kategorie1 heissen würde)
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#10

Re: TreeView: TreeNode -> untergeordneter Eintrag

  Alt 18. Apr 2004, 09:50
Wenn Du jetzt nach dem hinzufügen der Untereinträge noch ein break; machst wird die Schleife nicht unnötig weiter durchlaufen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz