就是反窗体分成左右两部分的 可以拉中间的条条改变大小。
如msdn的介面。
大侠拜托!!

解决方案 »

  1.   

    如果用VB.net,里面就有splitter control
    如果用VB6 可以看看app wizzard产生的explorer类型的应用程序模板,用image代替splitter
      

  2.   

    这个控件你看一下:)
    http://www.csdn.net/cnshare/soft/6/6411.shtm
      

  3.   

    创建一个Image,设置成splitter的样子,处理三个消息MouseUp, MouseMove, MouseDown
    创建一个PictureBox, 名字picSplitter,作为移动splitter的时候的现实,正常情况隐藏,只有拖动splitter的时候出来Private Sub imgSplitter_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
        SizeControls picSplitter.Left
        picSplitter.Visible = False '隐藏Picturebox
        mbMoving = False ‘移动结束
        '这时候可以根据当前splitter的位置设置你的要用spliter控制的控件的大小和位置
    End SubPrivate Sub imgSplitter_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
        With imgSplitter
            picSplitter.Move .Left, .Top, .Width \ 2, .Height - 20 '移动picturebox
        End With
        picSplitter.Visible = True
        mbMoving = True ’移动中
    End SubPrivate Sub imgSplitter_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
        Dim sglPos As Single     If mbMoving Then
            sglPos = x + imgSplitter.Left
            If sglPos < sglSplitLimit Then
                picSplitter.Left = sglSplitLimit
            ElseIf sglPos > Me.Width - sglSplitLimit Then
                picSplitter.Left = Me.Width - sglSplitLimit
            Else
                picSplitter.Left = sglPos
            End If
        End If
    End Sub这段程序vb6应用程序wizzard产生的
      

  4.   

    这里有个控件vbsplitterhttp://www.csdn.net/cnshare/soft/16/16015.shtm
      

  5.   

    Option ExplicitPrivate Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function ReleaseCapture Lib "user32" () As Long'加三个PICTUREBOX控件,将其中一个作为分隔条,改名为:picSplit
    Private Sub Form_Load()
        Picture1.Left = 60
        Picture1.Top = 60
        Picture2.Top = 60
        picSplit.Left = Picture1.Left + Picture1.Width + 30
        picSplit.Width = 60
        picSplit.BorderStyle = 0
        Picture2.Left = picSplit.Left + picSplit.Width '+ 50
        Picture1.Height = 5700
        Picture2.Height = 5700
        picSplit.Top = 60
        picSplit.Height = 5700
        picSplit.MousePointer = vbSizeWE
    End SubPrivate Sub picSplit_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    On Error Resume Next
        If Button = vbLeftButton Then
            SetCapture picSplit.hwnd
            picSplit.Tag = x
            picSplit.BackColor = &HFF8080
        End If
    End SubPrivate Sub picSplit_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    On Error Resume Next
        If Button = vbLeftButton Then
            If picSplit.Left >= (100 - x) And picSplit.Left <= (Me.ScaleWidth - 100 - x) Then picSplit.Left = picSplit.Left + x - CInt(picSplit.Tag)
        End If
    End SubPrivate Sub picSplit_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    On Error Resume Next
        If Button = vbLeftButton Then
            Picture1.Width = picSplit.Left - 80
            Picture2.Left = picSplit.Left + 50
            Picture2.Width = Width - Picture1.Width - 4
            
            picSplit.BackColor = &H8000000F
            ReleaseCapture
        End If
    End Sub