以前写的一段,虽然是移动Line控件的,但是改改一样使用。
'在窗体中放一个Line控件,命名为LineMove
Dim mX As Long, mY As Long
Dim mHeight As Long, mWidth As Long
Dim Moves As BooleanPrivate Sub Form_Load()
FrmMain.ScaleMode = 3
End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim i As Long, j As Long
Moves = False
 For i = LineMove.X1 To LineMove.X2
   j = (i - LineMove.X1) / (LineMove.X2 - LineMove.X1) * (LineMove.Y2 - LineMove.Y1) + LineMove.Y1
   If X >= i - LineMove.BorderWidth / 2 And X <= i + LineMove.BorderWidth / 2 _
     And Y >= j - LineMove.BorderWidth / 2 And Y <= j + LineMove.BorderWidth / 2 Then
   Moves = True
   mX = i - LineMove.X1
   mY = j - LineMove.Y1
   mWidth = LineMove.X2 - LineMove.X1
   mHeight = LineMove.Y2 - LineMove.Y1
   End If
 Next i
End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Moves = True Then
  LineMove.X1 = X - mX
  LineMove.Y1 = Y - mY
  LineMove.X2 = LineMove.X1 + mWidth
  LineMove.Y2 = LineMove.Y1 + mHeight
End If
End Sub
'还是要打上“原创”的记号
--------------------------------------------------------------------
Made by Thirdapple's Studio(http://3rdapple.51.net/)