用多窗体实现!!比较急]
把form分解成两个部分,各自完成各自的功能。
用API
SetParent函数可以把一个form放到另外一个form中
用treeview结合listview
Option Explicit
Private 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. = 60
Picture2. = 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. = 60
picSplit.Height = 5700
picSplit.MousePointer = vbSizeWE
Dim s As New ScriptControl
s.Language = "vbscript"
MsgBox s.Eval("(8+10)/2")
End Sub
Private 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 Sub
Private 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 Sub
Private 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