Einzelnen Beitrag anzeigen
Alt 16.01.2001, 18:12   #3
Punschkrapfen
Veteran
 
Registriert seit: 19.08.2000
Beiträge: 294


Punschkrapfen eine Nachricht über AIM schicken
Lächeln

zu dem control gibt es das Handbuch von Microsoft auf http://msdn.microsoft.com/library/de...bjTreeView.htm .
Jedes Element ist ein Node-Object, die man mit der Add-method in der nodes-collection hinzufügen kann, zb (lt. http://msdn.microsoft.com/library/de...bpronodesx.htm ):

Dim nodX As Node
Set nodX = TreeView1.Nodes.Add(,,"R","Root")
Set nodX = TreeView1.Nodes.Add("R", tvwChild,"C1","Child 1")
Set nodX = TreeView1.Nodes.Add("R", tvwChild,"C2","Child 2")
Set nodX = TreeView1.Nodes.Add("R", tvwChild,"C3","Child 3")
Set nodX = TreeView1.Nodes.Add("R", tvwChild,"C4","Child 4")

wenn man wissen will, über welchem objekt sich die maus gerade befindet, dann gibt es die HitTest-method ( http://msdn.microsoft.com/library/de...mthhittest.htm ). SelectedItem kann man auch verwenden ([url=http://msdn.microsoft.com/library/devprods/vs6/vbasic/cmctl198/vbproselecteditem.htm]http://msdn.microsoft.com/library/devprods/vs6/vbasic/cmctl198/vbproselecteditem.htm[/url ]) wenn der User zB auf einen commandbutton clickt.
Das ist aber alles für VB; das OCX reagiert aber überall gleich. Im Excel könnte man zB den Inhalt zweier cols so übertragen:

Private Sub CommandButton1_Click()
Dim nodx As Node
Dim col, row As Integer

Label1.Caption = Excel.ActiveCell.Text
TreeView1.Nodes.Clear
Set nodx = TreeView1.Nodes.Add(, , "R", Excel.ActiveCell.Text)
col = Excel.ActiveCell.Column
row = Excel.ActiveCell.row
col = col + 1
row = row + 1
Do While Len(Excel.Cells(row, col)) > 0
Set nodx = TreeView1.Nodes.Add("R", tvwChild, "C" & LTrim(Str(row)), Excel.Cells(row, col))
row = row + 1
Loop
End Sub

usw ...
Punschkrapfen ist offline   Mit Zitat antworten