midnightservice
September 17th, 2001, 07:40 PM
is there a way to make a explorer type mdi...byt allowing choices on the left and the choice appear in the right frame...any ideas let me know please...
thanx in advance
midnightservice
DSJ
September 18th, 2001, 02:06 PM
Open a new project and add a Treeview and listview control to form1 and put this code behind the form...
option Explicit
Dim dblDist as Double
Dim bDragging as Boolean
Dim bCanDrag as Boolean
private Sub Form_Load()
Dim nodX as Node
Dim i as Integer
Dim clmX as ColumnHeader
ListView1.Left = TreeView1.Left + TreeView1.Width + 50
dblDist = ListView1.Left - (TreeView1.Left + TreeView1.Width)
ListView1.MousePointer = vbDefault
TreeView1.MousePointer = vbDefault
ListView1.Top = TreeView1.Top
ListView1.Height = TreeView1.Height
ListView1.View = lvwReport
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")
nodX.EnsureVisible
TreeView1.Style = tvwTreelinesText ' Style 4.
TreeView1.BorderStyle = vbFixedSingle
for i = 1 to 3
set clmX = ListView1.ColumnHeaders.Add()
clmX.Text = "Col" & i & "Header"
next i
TreeView1_NodeClick TreeView1.Nodes("R")
End Sub
private Sub Form_MouseDown(Button as Integer, Shift as Integer, x as Single, y as Single)
bCanDrag = bDragging
End Sub
private Sub Form_MouseMove(Button as Integer, Shift as Integer, x as Single, y as Single)
Dim dblOldRight as Double
If x > (TreeView1.Left + TreeView1.Width) And x < (ListView1.Left - 20) then
me.MousePointer = ccSizeEW
bDragging = true
else
me.MousePointer = vbDefault
bDragging = false
End If
If bCanDrag And x > TreeView1.Left + 50 then
dblOldRight = ListView1.Left + ListView1.Width
TreeView1.Width = x - TreeView1.Left
ListView1.Left = x + dblDist
ListView1.Width = dblOldRight - ListView1.Left
End If
End Sub
private Sub Form_MouseUp(Button as Integer, Shift as Integer, x as Single, y as Single)
bCanDrag = false
bDragging = false
End Sub
private Sub Form_Resize()
ListView1.Width = me.ScaleWidth - 100 - (ListView1.Left)
ListView1.Height = me.ScaleHeight - 100 - (ListView1.Top)
TreeView1.Height = me.ScaleHeight - 100 - (TreeView1.Top)
End Sub
private Sub ListView1_MouseMove(Button as Integer, Shift as Integer, x as Single, y as Single)
me.MousePointer = vbDefault
End Sub
private Sub TreeView1_MouseMove(Button as Integer, Shift as Integer, x as Single, y as Single)
me.MousePointer = vbDefault
End Sub
private Sub TreeView1_NodeClick(byval Node as MSComctlLib.Node)
Dim itmX as ListItem
Dim i as Integer
ListView1.ListItems.Clear
for i = 1 to 10
set itmX = ListView1.ListItems.Add()
itmX.Text = "ListItem " & Node.Text & " " & i
itmX.SubItems(1) = "Subitem " & Node.Text & " " & i
itmX.SubItems(2) = "Subitem " & Node.Text & " " & i
next i
End Sub