VB 如何判断鼠标画完成了一个圈,谁有相关代码

来源:百度知道 编辑:UC知道 时间:2024/05/31 17:30:13
在VB中,如何判断鼠标画完成了一个圈,谁有相关代码
有种软件,鼠标画圈后就会执行一个操作的,类似这样的软件很多的啊。

再补充下:假设画的是规则的圆,,就是标准圆

Option Explicit
Dim DrawState As Boolean, PreX!, PreY!, dot!(10000, 1), i%, str$

Private Sub Form_Load()
DrawState = False
i = 0
Cls
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 1 Then
DrawState = True
PreX = x
PreY = y
End If
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim j%, k%, M%
If DrawState = True Then
Line (PreX, PreY)-(x, y)
dot(i, 0) = PreX
dot(i, 1) = PreY
For j = 0 To i - 1
If Abs(x - dot(j, 0)) < 30 And Abs(y - dot(j, 1)) < 30 And i - j > 2 Then
For M = j To i - 1 Step 1
Line (dot(M, 0), dot(M, 1))-(dot(M + 1, 0), dot(M + 1, 1)), vbRed '标志一下颜色
Next M
str = "起点(" & dot(j, 0) & Space(2) & dot(j, 1) & ")" & "经过" & (i - j) & "个点与终