7,763
社区成员
发帖
与我相关
我的任务
分享
Option Explicit
Private bOnDrag As Boolean
Private X1 As Long
Private Y1 As Long
Private X2 As Long
Private Y2 As Long
Private Sub Form_Load()
Me.ScaleMode = vbPixels
Me.AutoRedraw = True
Me.Line (50, 50)-(ScaleWidth - 50, ScaleHeight - 50), vbYellow, BF
Me.FillStyle = vbFSSolid
Me.FillColor = vbRed
Me.Circle (100, 100), 80, vbRed
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbLeftButton Then
X1 = X
Y1 = Y
X2 = X
Y2 = Y
Me.DrawMode = vbNotXorPen
Me.Line (X1, Y1)-(X2, Y2)
bOnDrag = True
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If bOnDrag Then
Me.Line (X1, Y1)-(X2, Y2)
X2 = X
Y2 = Y
Me.Line (X1, Y1)-(X2, Y2)
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If (Button = vbLeftButton) And bOnDrag Then
bOnDrag = False
Me.Line (X1, Y1)-(X2, Y2)
Me.DrawMode = vbCopyPen
Me.Line (X1, Y1)-(X2, Y2)
End If
End Sub