Here’s a demo for using a Label control as a splitter between two controls, as well as sample code for employing the splitter in an Explorer-like application:
Option ExplicitPrivate mbResizing As Boolean 'flag to indicate whether mouse left 'button is pressed downPrivate Sub Form_Load() TreeView1.Move 0, 0, Me.ScaleWidth / 3, _ Me.ScaleHeight ListView1.Move (Me.ScaleWidth / 3) + 50, 0, _ (Me.ScaleWidth * 2 / 3) - 50, _ Me.ScaleHeight Label1.Move Me.ScaleWidth / 3, 0, 100, _ Me.ScaleHeight Label1.MousePointer = vbSizeWEEnd SubPrivate Sub Label1_MouseDown(Button As Integer, Shift As _ Integer, X As Single, Y As Single) If Button = vbLeftButton Then mbResizing = _ TrueEnd SubPrivate Sub Label1_MouseMove(Button As _ Integer, Shift As Integer, X As _ Single, Y As Single) 'resizing controls while the left mousebutton is 'pressed down If mbResizing Then Dim nX As Single nX = Label1.Left + X If nX < 500 Then Exit Sub If nX > Me.ScaleWidth - 500 Then Exit Sub TreeView1.Width = nX ListView1.Left = nX + 50 ListView1.Width = Me.ScaleWidth - nX - _ 50 Label1.Left = nX End IfEnd SubPrivate Sub Label1_MouseUp(Button As Integer, _ Shift As Integer, X As Single, Y As Single) mbResizing = FalseEnd Sub