VB代码 帮我解析一下各位大虾

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:09:13
Dim x0 As Single, y0 As Single
Dim x1 As Single, y1 As Single
Dim flag As Boolean
'drawmode=not xor pen
'tp=1 line
'tp=2 circle
'tp=3 rectangle
Dim tp As Integer

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
x0 = X: y0 = Y
x1 = X: y1 = Y
flag = Not flag
End Sub
Private Sub Draw(ByVal x00 As Single, _
ByVal y00 As Single, _
ByVal x01 As Single, _
ByVal y01 As Single)
If tp = 1 Then
Line (x00, y00)-(x01, y01)
ElseIf tp = 2 Then
Circle (x00, y00), ((x00 - x01) ^ 2 + (y00 - y01) ^ 2) ^ 0.5
ElseIf tp = 3 Then
'x00,y00 x01,y00
'x00,y01 x01,y01
Line (x00, y00)-(x01, y00)
Line (x01, y00)-(x01, y01)
Line (x01, y01)-(x00, y01)
Line (x00, y01)-(x00, y00)
End

上面是定义变量 就不说了
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
鼠标按下
x0 = X: y0 = Y
将x,y的值赋给x0,y0
x1 = X: y1 = Y
将x,y的值赋给x1,y1
flag = Not flag
flag值取反,控制是否开始画图
End Sub
----------------------------------
Private Sub Draw(ByVal x00 As Single, _
ByVal y00 As Single, _
ByVal x01 As Single, _
ByVal y01 As Single)
画图的过程
If tp = 1 Then
Line (x00, y00)-(x01, y01)
当tp为1时 从x00,y00点到x01,y01点画直线
ElseIf tp = 2 Then
Circle (x00, y00), ((x00 - x01) ^ 2 + (y00 - y01) ^ 2) ^ 0.5
当tp为2时 以x00,y00为圆心,以x01,y01到x00,y00得距离为半径画圆
ElseIf tp = 3 Then
'x00,y00 x01,y00
'x00,y01 x01,y01
Line (x00, y00)-(x01, y00)
Line (x01, y00)-(x01, y01)
Line (x01, y01)-(x00, y01)
Line (x00, y01)-(x00, y00)
当tp为3时