Click to See Complete Forum and Search --> : explorer type form


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