'分割区的宽度 Private Const SPLITTERWIDTH = 45 '最小移动宽度 Private Const HMIN = 15 'picLeft和picRight的宽度相对于窗体的比例 Private Percent As Single '正在拖动的标志 Private DragFlag As Boolean
'每次拖动后需要重排窗体上的控件 Private Sub RedrawMe() Dim NewWidth As Single ' 忽略窗体缩小的情况 If WindowState = vbMinimized Then Exit Sub NewWidth = (ScaleWidth - SPLITTERWIDTH) * Percent Picleft.Move 0, 0, NewWidth, ScaleHeight Picright.Move NewWidth + SPLITTERWIDTH, 0, ScaleWidth - NewWidth - SPLITTERWIDTH, ScaleHeight End Sub
Private Sub Form_Load() 'PicLeft和PicRight的MousePointer=1 Percent = 0.5 End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DragFlag = True End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) '定义鼠标为vbSizeWE型 MousePointer = vbSizeWE Percent = X / ScaleWidth RedrawMe End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) DragFlag = False MousePointer = 0 '此行语句实际没有起作用 End Sub  
|