Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Baumstruktur erzeugen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Baumstruktur erzeugen (7867 mal gelesen)
BJ
Mitglied
PLM System Administrator


Sehen Sie sich das Profil von BJ an!   Senden Sie eine Private Message an BJ  Schreiben Sie einen Gästebucheintrag für BJ

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 10. Jul. 2003 15:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Gibt es die Möglichkeit einfach und schnell eine Baumstruktur, ähnlich einem Inhaltsverzeichnis z.B. eines Buches zu erzeugen?

Gruß,
BJ

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ulf_K
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Ulf_K an!   Senden Sie eine Private Message an Ulf_K  Schreiben Sie einen Gästebucheintrag für Ulf_K

Beiträge: 204
Registriert: 20.02.2002

erstellt am: 11. Jul. 2003 09:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BJ 10 Unities + Antwort hilfreich

Hey BJ,

nimm den TreeView. Darstellung wie im Browser, man kann eigene BMPs einhängen, usw. Sehr schönes Tool. Eine (sehr einfache) Darstellung findest du hier: http://ww3.cad.de/foren/ubb/Forum41/HTML/000090.shtml

Grüsse
Ulf

[Diese Nachricht wurde von Ulf_K am 11. Juli 2003 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BJ
Mitglied
PLM System Administrator


Sehen Sie sich das Profil von BJ an!   Senden Sie eine Private Message an BJ  Schreiben Sie einen Gästebucheintrag für BJ

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 30. Jul. 2003 14:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Ulf,

wo finde ich diesen "TreeView"?

Gruß,

BJ

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Ehrenmitglied V.I.P. h.c.
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 30. Jul. 2003 14:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BJ 10 Unities + Antwort hilfreich


vb-treeview.gif

 
Hallo BJ,

das Treeview steckt mit in den Common Controls, also die unter Komponenten mit anhaken, dann kast du es im Wrkzeugkasten mit drin.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite
http://solidworks.cad.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BJ
Mitglied
PLM System Administrator


Sehen Sie sich das Profil von BJ an!   Senden Sie eine Private Message an BJ  Schreiben Sie einen Gästebucheintrag für BJ

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 30. Jul. 2003 15:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Stefan!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BJ
Mitglied
PLM System Administrator


Sehen Sie sich das Profil von BJ an!   Senden Sie eine Private Message an BJ  Schreiben Sie einen Gästebucheintrag für BJ

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 30. Jul. 2003 15:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi!

Hat jemand zufällig einen Beispiel-Code für den TreeView?
Ich habe keine Zeit mich über die Bibliothek einzuarbeiten.

Danke und Grüsse,

BJ

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Ulf_K
Mitglied
Elektrotechniker


Sehen Sie sich das Profil von Ulf_K an!   Senden Sie eine Private Message an Ulf_K  Schreiben Sie einen Gästebucheintrag für Ulf_K

Beiträge: 204
Registriert: 20.02.2002

erstellt am: 01. Aug. 2003 08:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für BJ 10 Unities + Antwort hilfreich

Hallo BJ,

anbei die kurze Erklärung des TREEVIEW aus der MSDN. Ein kleines Beispiel habe ich im Moment nicht zur Hand. Meine Codes sind da etwas zu heftig.

Um einen Treeview aufzubauen brauchtst du nur einen Befehl:

Treeview.nodes.add(Key des Bezugsknoten, Beziehung, Key des Knotens, Text des Knotens, Image des Knotens, Image des Knotens wenn selektiert)

Beispiel:
Private Sub Form_Load()
  ' Setzen der Strukturansicht-Steuerelement Eigenschaften.
  TreeView1.LineStyle = tvwRootLines  ' Linestyle 1

  ' Setzen der Objekte
  Dim nodX As Node    ' Nodevariable deklarieren
  '  Knoten1 (immer Parent) 'Root'
  Set nodX = TreeView1.Nodes.Add(, , "r", "Root")

  ' Knoten2 ist ein 'child' von Knoten1 ("Root") und Parent von Knoten3.
  Set nodX = TreeView1.Nodes.Add("r", tvwChild, "r\child1", "Child1")

  ' Knoten3 ist ein 'child' von Knoten2 ("Root").
  Set nodX = TreeView1.Nodes.Add("r\child1", tvwChild, "r\child1\child2", "Child2")

end sub

Ich lege die Keys immer derart an, dass ich aus dem Key die gesamte Struktur entnehmen kann (r\child1\child2). Da ich aus diese Weise Datenbanken visualisiere, habe ich für Zugriffe die entsprechenden IDs direkt zur Hand. Ist nur ein Tipp. Die Keys kannst du frei vergeben. Sie müssen nur im Baum eindeutig sein.

Mit dem Ereignis "node_click" erhält du den Zugriff auf das selektierte Node und kannst dann hier den Key auslesen.

Grüsse
Ulf


Hinweise aus MSDN:

Verwenden des Strukturansicht-Steuerelements (TreeView)


Das Strukturansicht-Steuerelement ist zur Anzeige von Daten gedacht, die ihrer Natur nach hierarchisch sind, wie z.B. Organisationsstrukturen, Einträge in einem Index oder Dateien und Ordner auf einem Datenträger.


Verwendungsmöglichkeiten
Erstellen einer Organisationsstruktur, die vom Benutzer bearbeitet werden kann.


Erstellen einer Struktur, der mindestens zwei Ebenen einer Datenbank anzeigt.
Einstellen der Eigenschaften von Node-Objekten
Eine „Struktur“ (oder Hierarchie, Baum, engl.: Tree) besteht aus verschachtelten Zweigen mit „Knoten“. Jeder Knoten (Node) besteht normalerweise aus einem Bild (das mit der Image-Eigenschaft festgelegt wird) und einer Beschriftung (die mit der Text-Eigenschaft festgelegt wird). Außerdem kann jeder Knoten einen weiteren Zweig mit Knoten enthalten. Die Bilder für die Knoten kommen von einem Abbildungsliste-Steuerelement, das mit dem Strukturansicht-Steuerelement verknüpft wird. Weitere Informationen über die Verwendung des Abbildungsliste-Steuerelements zusammen mit anderen Steuerelementen finden Sie unter „Verwenden des Abbildungsliste-Steuerelements“.

Ein Knoten kann „geöffnet“ oder „geschlossen“ sein, je nachdem, ob der Knoten untergeordnete Knoten besitzt - Knoten, die von ihm abstammen. Auf der obersten Ebene befinden sich Hauptknoten; jeder Hauptknoten kann eine beliebige Anzahl an untergeordneten Knoten besitzen. Die Anzahl der Knoten ist nicht begrenzt (außer durch Hardware-Beschränkungen). Abbildung 2.41 zeigt eine Struktur mit zwei Hauptknoten; „Root 1“ hat drei untergeordnete Knoten, und „Child 3“ hat selbst wiederum einen untergeordneten Knoten. „Root 2“ hat untergeordnete Knoten, was durch das Zeichen „+“ angezeigt wird, ist aber nicht geöffnet.


Jeder Knoten in einer Struktur ist eigentlich ein programmierbares Node-Objekt, das zur Nodes-Auflistung gehört. Wie bei anderen Auflistungen hat jedes Element dieser Auflistung eindeutige Index- und Key-Eigenschaften, mit deren Hilfe auf die Eigenschaften des Knotens zugegriffen werden kann. Der folgende Code z.B. benutzt den Index eines bestimmten Knotens („7“), um dessen Image- und Text-Eigenschaften einzustellen:

tvwMyTree.Nodes(7).Image = "geschlossen"
tvwMyTree.Nodes(7).Text = "IEEE"

Wenn dem Knoten jedoch ein eindeutiger Schlüssel, z.B. „7 ID“ zugewiesen wäre, könnte der Code folgendermaßen aussehen:

tvwMyTree.Nodes("7 ID").Image = "geschlossen"
tvwMyTree.Nodes("7 ID").Text = "IEEE"

Knotenbeziehungen und Verweise auf Nachbarknoten
Jeder Knoten kann ein über- oder untergeordneter Knoten (Parents bzw. Children) sein, je nach seinen Beziehungen zu anderen Knoten. Das Node-Objekt besitzt mehrere Eigenschaften, die verschiedene Arten von Information zu über- oder untergeordneten Knoten zurückgeben. Beispielsweise verwendet der folgende Code die Children-Eigenschaft, um die Anzahl der untergeordneten Knoten eines Knotens zurückzugeben, sofern vorhanden:

MsgBox tvwMyTree.Nodes(10).Children

Manche Eigenschaften geben jedoch nicht wie die Children-Eigenschaft Informationen zurück, sondern einen Verweis auf ein anderes Node-Objekt. Beispielsweise gibt die Parent-Eigenschaft einen Verweis auf den übergeordneten Knoten eines bestimmten Knotens zurück (sofern er kein Hauptknoten ist). Mit diesem Verweis können Sie den übergeordneten Knoten bearbeiten, indem Sie Methoden aufrufen oder Eigenschaften einstellen, die bei Node-Objekten definiert sind. Beispielsweise gibt der folgende Code die Eigenschaften Text und Index eines übergeordneten Knotens zurück:

MsgBox tvwMyTree.Nodes(10).Parent.Text
MsgBox tvwMyTree.Nodes(10).Parent.Index

Tip  Verwenden Sie die Set-Anweisung mit einer Objektvariablen vom Typ Node zur Manipulation von Verweisen auf andere Node-Objekte. Beispielsweise weist der folgende Code einer Node-Objektvariablen den von der Parent-Eigenschaft zurückgegebenen Verweis zu. Anschließend benutzt der Code die Objektvariable, um Eigenschaften des übergeordneten Knotens zurückzugeben:

Dim tempNode As Node ' Objektvariable deklarieren.
' Der Objektvariablen den
' zurückgegebenen Verweis zuweisen.
Set tempNode = tvwMyTree.Nodes(10).Parent
MsgBox tempNode.Text ' Gibt den Text des übergeordneten
                    ' Knotens aus.
MsgBox tempNode.Index  ' Gibt den Index des
                        ' übergeordneten Knotens aus.

Hinzufügen eines Node-Objekts zur Nodes-Auflistung
Um einen Knoten zur Struktur hinzuzufügen, verwenden Sie die Add-Methode (Nodes-Auflistung). Diese Methode erhält zwei Argumente, relative und relationship, zur Festlegung, wo der Knoten eingefügt wird. Das erste Argument, relative, nennt einen Knoten; das zweite Argument, relationship, gibt die Beziehung zwischen dem neuen Knoten und dem in relative angegebenen Knoten an.

Der folgende Code fügt beispielsweise einen Knoten namens „11 Knoten“ als untergeordneten Knoten eines anderen Knotens namens „7 Knoten“ hinzu. Die integrierte Konstante tvwChild legt fest, daß der neue Knoten dem eben angegebenen Knoten untergeordnet sein soll. Das dritte Argument weist dem neuen Knoten die Key-Eigenschaft zu.

tvwMyTree.Nodes.Add "7 Knoten", tvwChild, "11 Knoten"

Weitere mögliche Beziehungen sind:

Konstante Wert Beschreibung
tvwLast 1 Der Knoten wird nach allen anderen Knoten auf derselben Ebene wie der in relative angegebene Knoten eingefügt.
tvwNext 2 Der Knoten wird nach dem in relative angegebenen Knoten eingefügt.
tvwPrevious 3 Der Knoten wird vor dem in relative angegebenen Knoten eingefügt.
tvwChild 4 Der Knoten wird dem in relative angegebenen Knoten untergeordnet.


Angenommen, es gibt drei Knoten, und Sie möchten einen vierten Knoten zwischen dem zweiten und dem dritten Knoten einfügen, dann würde der Code folgendermaßen aussehen:

' Angenommen, der Key-Wert des zweiten Knotens
' ist "2 Knoten".
tvwMyTree.Nodes.Add "2 Knoten", tvwNext

Andere Argumente der Add-Methode sind Key, Text und Image. Mit diesen Argumenten können Sie die Eigenschaften Key, Text und Image beim Erstellen des Knotens einstellen.

Weitere Informationen  Weitere Informationen über die Add-Methode der Nodes-Auflistung finden Sie unter "Add-Methode", indem Sie "Add-Methode" bei der Indexsuche eingeben und auf "Add-Methode (Nodes-Auflistung) " klicken.

Eine zweite Möglichkeit zum Hinzufügen von Node-Objekten ist die Deklaration einer Objektvariablen von Typ Node und die anschließende Verwendung der Set-Anweisung mit der Add-Methode. Die Set-Anweisung weist der Objektvariablen den neuen Knoten zu. Sie können anschließend die Objektvariable verwenden, um die Eigenschaften des Knotens einzustellen, wie im folgenden gezeigt:

Dim nodX As Node
Set nodX = tvwMyTree.Nodes.Add("10 Knoten", tvwChild)
nodX.Key = "11 Knoten "
nodX.Text = "IEEE"
nodX.Image = "geschlossen"

Tip  Die Verwendung der Set-Anweisung mit der Add-Methode erleichtert das Lesen und die Fehlersuche im Code. Dagegen produziert die direkte Verwendung der Add-Methode mit ihren Argumenten schnelleren Code.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

BJ
Mitglied
PLM System Administrator


Sehen Sie sich das Profil von BJ an!   Senden Sie eine Private Message an BJ  Schreiben Sie einen Gästebucheintrag für BJ

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 01. Aug. 2003 08:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Ulf,

hilft mir schon um einiges weiter!

Gruß BJ

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz