好像有一个什么控件的,不过自己用VB也可以解决啊。 -------------------------------------------------------------------- 如果用代码实现,请看: '放入两个PictureBox控件,作为容器,命名为PicLeft和PicRight '放入一个Timer控件,命名为TimerLoop '为了方便,所以没有用Hook,但是应该还是可以 Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Type POINTAPI X As Long Y As Long End Type Private Sub Form_Load() '初始化 MainForm.ScaleMode = 3 PicLeft.ScaleMode = 3 PicRight.ScaleMode = 3 PicLeft.Top = 0 PicLeft.Left = 0 TimerLoop.Enabled = False TimerLoop.Interval = 100 PicLeft.Height = MainForm.ScaleHeight PicRight.Height = MainForm.ScaleHeight PicLeft.Width = 100 PicRight.Left = PicLeft.Width PicRight.Top = 0 PicRight.Width = MainForm.ScaleWidth - PicLeft.Width End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = True End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = False End Sub Private Sub Form_Resize() PicRight.Width = MainForm.ScaleWidth - PicLeft.Width PicLeft.Height = MainForm.ScaleHeight PicRight.Height = MainForm.ScaleHeight End Sub Private Sub PicLeft_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = True End Sub Private Sub PicLeft_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = False End Sub Private Sub PicRight_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = True End Sub Private Sub PicRight_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = False End Sub Private Sub TimerLoop_Timer() '关键代码部分,(实话实说,打*****的一句有部分是参考Bardo的) Dim Cursor As POINTAPI GetCursorPos Cursor PicLeft.Width = Cursor.X - MainForm.Left / Screen.TwipsPerPixelX '***** PicRight.Left = PicLeft.Width PicRight.Width = MainForm.ScaleWidth - PicLeft.Width End Sub '具体代码你还可以再加工一下 '还是要打上“原创”的记号 -------------------------------------------------------------------- Made by Thirdapple's Studio
没有好用的 :) 反汇编之后要看汇编代码哦!但查看窗口属性可以用VS系列里带的 Spy++
将以上代码中的 Private Sub PicLeft_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = True End Sub Private Sub PicLeft_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = False End Sub Private Sub PicRight_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = True End Sub Private Sub PicRight_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = False End Sub 改为: Private Sub PicLeft_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If X > PicLeft.ScaleWidth - 10 Then TimerLoop.Enabled = True End Sub Private Sub PicLeft_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If X > PicLeft.ScaleWidth - 10 Then Screen.MousePointer = 9 Else Screen.MousePointer = 1 End If End Sub Private Sub PicLeft_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = False End Sub Private Sub PicRight_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If X < 10 Then TimerLoop.Enabled = True End Sub Private Sub PicRight_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If X < 10 Then Screen.MousePointer = 9 Else Screen.MousePointer = 1 End If End Sub Private Sub PicRight_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) TimerLoop.Enabled = False End Sub 要好一点了。 -------------------------------------------------------------------- Made by Thirdapple's Studio
明白了吗?(TreeView边框为0,即没有边框,所以看不出来)
--------------------------------------------------------------------
如果用代码实现,请看:
'放入两个PictureBox控件,作为容器,命名为PicLeft和PicRight
'放入一个Timer控件,命名为TimerLoop
'为了方便,所以没有用Hook,但是应该还是可以
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Sub Form_Load() '初始化
MainForm.ScaleMode = 3
PicLeft.ScaleMode = 3
PicRight.ScaleMode = 3
PicLeft.Top = 0
PicLeft.Left = 0
TimerLoop.Enabled = False
TimerLoop.Interval = 100
PicLeft.Height = MainForm.ScaleHeight
PicRight.Height = MainForm.ScaleHeight
PicLeft.Width = 100
PicRight.Left = PicLeft.Width
PicRight.Top = 0
PicRight.Width = MainForm.ScaleWidth - PicLeft.Width
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = True
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = False
End Sub
Private Sub Form_Resize()
PicRight.Width = MainForm.ScaleWidth - PicLeft.Width
PicLeft.Height = MainForm.ScaleHeight
PicRight.Height = MainForm.ScaleHeight
End Sub
Private Sub PicLeft_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = True
End Sub
Private Sub PicLeft_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = False
End Sub
Private Sub PicRight_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = True
End Sub
Private Sub PicRight_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = False
End Sub
Private Sub TimerLoop_Timer() '关键代码部分,(实话实说,打*****的一句有部分是参考Bardo的)
Dim Cursor As POINTAPI
GetCursorPos Cursor
PicLeft.Width = Cursor.X - MainForm.Left / Screen.TwipsPerPixelX '*****
PicRight.Left = PicLeft.Width
PicRight.Width = MainForm.ScaleWidth - PicLeft.Width
End Sub
'具体代码你还可以再加工一下
'还是要打上“原创”的记号
--------------------------------------------------------------------
Made by Thirdapple's Studio
反汇编之后要看汇编代码哦!但查看窗口属性可以用VS系列里带的 Spy++
Private Sub PicLeft_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = True
End Sub
Private Sub PicLeft_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = False
End Sub
Private Sub PicRight_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = True
End Sub
Private Sub PicRight_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = False
End Sub
改为:
Private Sub PicLeft_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X > PicLeft.ScaleWidth - 10 Then TimerLoop.Enabled = True
End Sub
Private Sub PicLeft_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X > PicLeft.ScaleWidth - 10 Then
Screen.MousePointer = 9
Else
Screen.MousePointer = 1
End If
End Sub
Private Sub PicLeft_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = False
End Sub
Private Sub PicRight_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X < 10 Then TimerLoop.Enabled = True
End Sub
Private Sub PicRight_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If X < 10 Then
Screen.MousePointer = 9
Else
Screen.MousePointer = 1
End If
End Sub
Private Sub PicRight_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
TimerLoop.Enabled = False
End Sub
要好一点了。
--------------------------------------------------------------------
Made by Thirdapple's Studio