CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    May 2001
    Location
    MO, USA
    Posts
    87

    explorer type form

    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


  2. #2
    Join Date
    Jun 2001
    Location
    MO, USA
    Posts
    2,868

    Re: explorer type form

    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






Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured