这是分隔条的例子!!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 - picSplit.Left - 250
picSplit.BackColor = &H8000000F ReleaseCapture End If End Sub
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 - picSplit.Left - 250
picSplit.BackColor = &H8000000F
ReleaseCapture
End If
End Sub
后是个独立的小窗口,当拖到左边时就刚好占满mdi窗体的一部分,而右边是子窗体
大概就像vb一样的效果,可以新建一个窗体,左边有工具箱,很多软件都有这种效果的。