title image


Smiley Re: noch was ....
Hallo,



Um den folgenden Quelltext auszuprobieren brauchst Du einige Menüeinträge:



:::Menü-Einträge:::

mnu_TreeView [ Visible=False ]mnu_TreeView_AddNewmnu_TreeView_AddSubmnu_TreeView_Delete





:::Quelltext:::

Private SelectedNode As MSComctlLib.Node ' Sicherung den ausgewählten Knoten in der Baumstruktur'Zweck: Baim Laden des Formulars wird eine Demo-Baumstruktur aufgebaut.Private Sub Form_Load()   ' Knoten erstellen   TreeView1.Nodes.Add , , "Node1", "Node1"   TreeView1.Nodes.Add "Node1", MSComctlLib.tvwChild, "Node1.1", "Node1.1"   TreeView1.Nodes.Add "Node1", MSComctlLib.tvwChild, "Node1.2", "Node1.2"   TreeView1.Nodes.Add , , "Node2", "Node2"   ' Knoten öffnen   TreeView1.Nodes("Node1").Expanded = TrueEnd Sub'Zweck: Wenn die Maus über dem TreeView losgelassen wird, dann...Private Sub TreeView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)   ' Wenn nicht die rechte Maustaste losgelassen wurden dann...   If Not Button = VBRUN.MouseButtonConstants.vbRightButton Then      Exit Sub   End If   ' Knoten unter der Maus ermitteln   Set SelectedNode = TreeView1.HitTest(x, y)   ' Ist kein Knoten unter der Maus   If SelectedNode Is Nothing Then      ' dann kann man nur einen Hauptknoten anlegen      mnu_TreeView_AddNew.Visible = True      mnu_TreeView_AddSub.Visible = False      mnu_TreeView_Delete.Visible = False   Else ' es ist ein Knoten unter der Maus      ' so kann man diesen löschen, oder einen Unterknoten erstellen      mnu_TreeView_AddSub.Visible = True      mnu_TreeView_Delete.Visible = True      mnu_TreeView_AddNew.Visible = False   End If   ' Popup-Menü anzeigen   Me.PopupMenu mnu_TreeView, , TreeView1.Left + x, TreeView1.Top + yEnd Sub'Zweck: Ein Hauptknoten anlegen.Private Sub mnu_TreeView_AddNew_Click()   On Error GoTo OnError   Dim sDate As Single   Dim sTime As SingleGetNewID:   ' Eindeutige Nummer ermitteln   sDate = CSng(Date)   sTime = CSng(Time)   ' Ein Hauptknoten erstellen   TreeView1.Nodes.Add , , "NodeAt" & CStr(sDate) & CStr(sTime), _                           "Knoten " & CStr(CDate(sDate)) & " " & CStr(CDate(sTime))   Exit SubOnError:   ' Wenn zwei Knoten in einer Sekunde erstellt werden,   ' dann wird beim zweitem Beep ausgelösst   If Err.Number = 35602 Then      Beep   Else      MsgBox Err.Description, vbCritical, Err.Source & " [" & Err.Number & "]"   End IfEnd Sub'Zweck: Ein Unterknoten unter dem ausgewähltem anlegen.Private Sub mnu_TreeView_AddSub_Click()   On Error GoTo OnError   Dim sDate As Single   Dim sTime As Single   ' Wenn kein Knoten ausgewählt ist, dann...   If SelectedNode Is Nothing Then      Beep      Exit Sub   End IfGetNewID:   ' Eindeutige Nummer ermitteln   sDate = CSng(Date)   sTime = CSng(Time)   ' Ein Hauptknoten erstellen   TreeView1.Nodes.Add SelectedNode.Key, _                       MSComctlLib.tvwChild, _                       "NodeAt" & CStr(sDate) & CStr(sTime), _                       "Knoten " & CStr(CDate(sDate)) & " " & CStr(CDate(sTime))   ' Ausgewählten Knoten öffnen   SelectedNode.Expanded = True   Exit SubOnError:   ' Wenn zwei Knoten in einer Sekunde erstellt werden,   ' dann wird beim zweitem Beep ausgelösst   If Err.Number = 35602 Then      Beep   Else      MsgBox Err.Description, vbCritical, Err.Source & " [" & Err.Number & "]"   End IfEnd Sub'Zweck: Den ausgewählten Knoten löschen.Private Sub mnu_TreeView_Delete_Click()   ' Wenn kein Knoten ausgewählt ist, dann...   If SelectedNode Is Nothing Then      Beep      Exit Sub   End If   ' Ausgewählten Knoten löschen   ' Alle Unterknoten werden automatisch mitentfernt   TreeView1.Nodes.Remove SelectedNode.IndexEnd Sub

Mit freundlichen Grüßen

AndyG

E-Mail:  Andreas_Graf [öt] DevPlanet.de
Homepage:  http://www.DevPlanet.de



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: