vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Einträge von TreeView in ein andres TreeView kopieren 
Autor: vbtricks
Datum: 12.03.05 19:33

Hallo nochmal,

hier also der Source:
Private Sub CopyNodeProperties(ByRef Source As Node, ByRef Target As Node)
On Error Resume Next
Target.BackColor = Source.BackColor
Target.Bold = Source.Bold
Target.Checked = Source.Checked
Target.Expanded = Source.Expanded
Target.ExpandedImage = Source.ExpandedImage
Target.ForeColor = Source.ForeColor
Target.Image = Source.Image
Target.SelectedImage = Source.SelectedImage
Target.Sorted = Source.Sorted
Target.Tag = Source.Tag
Target.Visible = Source.Visible
End Sub
 
Private Sub CopyTreeViewHelper(ByRef Source As Node, ByRef Target As Node, _
  ByRef TargetTreeView As TreeView)
On Error Resume Next
Dim CurNode As Node, NewNode As Node
Set CurNode = Source.Child
While Not CurNode Is Nothing
    Set NewNode = TargetTreeView.Nodes.Add(Target.Index, tvwChild, CurNode.Key, _
      CurNode.Text)
    CopyNodeProperties CurNode, NewNode
    If CurNode.Children > 0 Then
        CopyTreeViewHelper CurNode, NewNode, TargetTreeView
    End If
    Set CurNode = CurNode.Next
Wend
End Sub
 
Private Function CopyTreeView(ByRef Source As TreeView, ByRef Target As _
  TreeView) As Boolean
On Error Resume Next
Dim CurNode As Node, NewNode As Node
If Source.Nodes.Count > 0 Then
    Target.Nodes.Clear
    Set CurNode = Source.Nodes(1)
    While Not CurNode Is Nothing
        Set NewNode = Target.Nodes.Add(, , CurNode.Key, CurNode.Text)
        CopyNodeProperties CurNode, NewNode
        If CurNode.Children > 0 Then
            CopyTreeViewHelper CurNode, NewNode, Target
        End If
        Set CurNode = CurNode.Next
    Wend
    CopyTreeView = True
Else
    CopyTreeView = False
End If
End Function
Die Funktion wird aufgerufen via
CopyTreeView lvSource, lvTarget
Noch ein paar Bemerkungen:
1. es fehlt jegliche Kommentierung
2. der Rückgabe sagt noch nicht 100% korrekt aus, ob der Vorgang geklappt hat
3. der Source wurde mit der 6er Version der Common Controls erstellt, in der 5er fehlen evtl ein Paar Eigenschaften des Node-Objekte (entsprechende Zeilen in CopyNodeProperties auskommentieren)
4. eine schöne, kommentierte Version werde ich im Laufe der nächsten Tage auf meine Webseite stellen


Gruß,

Stefan

Web: http://www.vbtricks.de.vu/

VBTricks.de.vu. Meine Webseite zu VB und anderen Programmiersprachen. Verschiedene fortgeschrittene OCXe und komplette Projekte sind im Sourcecode verf?gbar.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Einträge von TreeView in ein andres TreeView kopieren1.931boingfreund12.03.05 18:44
Re: Einträge von TreeView in ein andres TreeView kopieren910vbtricks12.03.05 19:06
Re: Einträge von TreeView in ein andres TreeView kopieren1.212vbtricks12.03.05 19:33
Re: Einträge von TreeView in ein andres TreeView kopieren797jens5212.03.05 19:41
Re: Einträge von TreeView in ein andres TreeView kopieren837boingfreund12.03.05 19:43

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel