关于VB里绘制矩形的问题
我在教程上看到用VB绘制矩形的教程,不过里面有好多代码看不懂,希望VB老师们能帮我看下,问题是多了点,不过我真的很想学会VB,谢谢(不懂的问题我在代码后用中括号[]括着)...
我在教程上看到用VB绘制矩形的教程,不过里面有好多代码看不懂,希望VB老师们能帮我看下,问题是多了点,不过我真的很想学会VB,谢谢(不懂的问题我在代码后用中括号[]括着)
Dim xp1 As Single, yp1 As Single
Dim xp2 As Single, yp2 As Single
Dim drawing As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not drawing Then [这里为什么这里多了一个Not,后面的几个IF语句都没有Not的?]
xp1 = X: yp1 = Y [这里定义坐标为什么是用冒号:的,而不是用分号;的?]
xp2 = X: yp2 = Y
drawing = True
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawing Then
DrawStyle = 2
DrawMode = vbInvert
Line (xp1, yp1)-(xp2, yp2), , B [这里后面的两个逗号跟B是什么意思的?]
Line (xp1, yp1)-(X, Y), , B [这里的上一句不是已经定义了一个矩形的左上角和右下角坐标了吗,为什么还要加多这一句的?]
xp2 = X: yp2 = Y [这句话又是什么意思?]
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawing Then
DrawDode = vbBlackness
DrawStyle = 0
Line (xp1, yp1)-(X, Y), , B
drawing = False
End If
End Sub 展开
Dim xp1 As Single, yp1 As Single
Dim xp2 As Single, yp2 As Single
Dim drawing As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not drawing Then [这里为什么这里多了一个Not,后面的几个IF语句都没有Not的?]
xp1 = X: yp1 = Y [这里定义坐标为什么是用冒号:的,而不是用分号;的?]
xp2 = X: yp2 = Y
drawing = True
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawing Then
DrawStyle = 2
DrawMode = vbInvert
Line (xp1, yp1)-(xp2, yp2), , B [这里后面的两个逗号跟B是什么意思的?]
Line (xp1, yp1)-(X, Y), , B [这里的上一句不是已经定义了一个矩形的左上角和右下角坐标了吗,为什么还要加多这一句的?]
xp2 = X: yp2 = Y [这句话又是什么意思?]
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawing Then
DrawDode = vbBlackness
DrawStyle = 0
Line (xp1, yp1)-(X, Y), , B
drawing = False
End If
End Sub 展开
展开全部
If Not drawing Then [这里为什么这里多了一个Not,后面的几个IF语句都没有Not的?] :not就是否的意思,或者说不什么什么,在这里就是没有drawing
xp1 = X: yp1 = Y [这里定义坐标为什么是用冒号:的,而不是用分号;的?:这是VB的规定,写成一行的时候就用冒号
Line (xp1, yp1)-(xp2, yp2), , B [这里后面的两个逗号跟B是什么意思的?]:并不是两个逗号,而是其中的参数未设置(在这里是没有设置线的颜色)
Line (xp1, yp1)-(X, Y), , B [这里的上一句不是已经定义了一个矩形的左上角和右下角坐标了吗,为什么还要加多这一句的?] :那么就是画两个矩形了,坐标不一样嘛.
xp2 = X: yp2 = Y [这句话又是什么意思?]:对xp2\yp2赋值啊,这个地方鼠标动了值会有变化的.
还有疑问的话请补充
xp1 = X: yp1 = Y [这里定义坐标为什么是用冒号:的,而不是用分号;的?:这是VB的规定,写成一行的时候就用冒号
Line (xp1, yp1)-(xp2, yp2), , B [这里后面的两个逗号跟B是什么意思的?]:并不是两个逗号,而是其中的参数未设置(在这里是没有设置线的颜色)
Line (xp1, yp1)-(X, Y), , B [这里的上一句不是已经定义了一个矩形的左上角和右下角坐标了吗,为什么还要加多这一句的?] :那么就是画两个矩形了,坐标不一样嘛.
xp2 = X: yp2 = Y [这句话又是什么意思?]:对xp2\yp2赋值啊,这个地方鼠标动了值会有变化的.
还有疑问的话请补充
展开全部
Dim xp1 As Single, yp1 As Single
Dim xp2 As Single, yp2 As Single
Dim drawing As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not drawing Then [not表示对 drawing取反]
xp1 = X: yp1 = Y [两行写成一行的时候就用冒号,也可以分开两行写]
xp2 = X: yp2 = Y
drawing = True
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawing Then
DrawStyle = 2
DrawMode = vbInvert
Line (xp1, yp1)-(xp2, yp2), , B [两个逗号是因为中间没有注明颜色参数,B 是可选项,指利用对角坐标画矩形]
Line (xp1, yp1)-(X, Y), , B [这一句的作用是所画的矩形在没松开鼠标左键时还不会定形,可以拖动鼠标放大缩小]
xp2 = X: yp2 = Y [这是右下角的坐标,根本所动鼠标拖动值也不同]
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawing Then
DrawDode = vbBlackness
DrawStyle = 0
Line (xp1, yp1)-(X, Y), , B
drawing = False
End If
End Sub
Dim xp2 As Single, yp2 As Single
Dim drawing As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not drawing Then [not表示对 drawing取反]
xp1 = X: yp1 = Y [两行写成一行的时候就用冒号,也可以分开两行写]
xp2 = X: yp2 = Y
drawing = True
End If
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawing Then
DrawStyle = 2
DrawMode = vbInvert
Line (xp1, yp1)-(xp2, yp2), , B [两个逗号是因为中间没有注明颜色参数,B 是可选项,指利用对角坐标画矩形]
Line (xp1, yp1)-(X, Y), , B [这一句的作用是所画的矩形在没松开鼠标左键时还不会定形,可以拖动鼠标放大缩小]
xp2 = X: yp2 = Y [这是右下角的坐标,根本所动鼠标拖动值也不同]
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If drawing Then
DrawDode = vbBlackness
DrawStyle = 0
Line (xp1, yp1)-(X, Y), , B
drawing = False
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、[这里为什么这里多了一个Not,后面的几个IF语句都没有Not的?]
not表示对 drawing取反再参与if的判断。
2、[这里定义坐标为什么是用冒号:的,而不是用分号;的?]
:相当于分行,也就是本应当写两行或多行的,中间用:隔开就可以写在一行了。
3、[这里后面的两个逗号跟B是什么意思的?]
object.Line [Step] (x1, 1) [Step] (x2, y2), [color], [B][F]
object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。
Step 可选的。关键字,指定起点坐标,它们相对于由 CurrentX 和 CurrentY 属性提供的当前图形位置。
(x1, y1) 可选的。Single (单精度浮点数),直线或矩形的起点坐标。ScaleMode 属性决定了使用的度量单位。如果省略,线起始于由 CurrentX 和 CurrentY 指示的位置。
Step 可选的。关键字,指定相对于线的起点的终点坐标。
(x2, y2) 必需的。Single (单精度浮点数),直线或矩形的终点坐标。
color 可选的。Long (长整型数),画线时用的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
B 可选的。如果包括,则利用对角坐标画出矩形。
F 可选的。如果使用了 B 选项,则 F 选项规定矩形以矩形边框的颜色填充。不能不用 B 而用 F。如果不用 F 光用 B,则矩形用当前的 FillColor 和 FillStyle 填充。FillStyle 的缺省值为 transparent。
not表示对 drawing取反再参与if的判断。
2、[这里定义坐标为什么是用冒号:的,而不是用分号;的?]
:相当于分行,也就是本应当写两行或多行的,中间用:隔开就可以写在一行了。
3、[这里后面的两个逗号跟B是什么意思的?]
object.Line [Step] (x1, 1) [Step] (x2, y2), [color], [B][F]
object 可选的。 对象表达式,其值为“应用于”列表中的对象。如果object 省略,具有焦点的窗体作为object。
Step 可选的。关键字,指定起点坐标,它们相对于由 CurrentX 和 CurrentY 属性提供的当前图形位置。
(x1, y1) 可选的。Single (单精度浮点数),直线或矩形的起点坐标。ScaleMode 属性决定了使用的度量单位。如果省略,线起始于由 CurrentX 和 CurrentY 指示的位置。
Step 可选的。关键字,指定相对于线的起点的终点坐标。
(x2, y2) 必需的。Single (单精度浮点数),直线或矩形的终点坐标。
color 可选的。Long (长整型数),画线时用的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
B 可选的。如果包括,则利用对角坐标画出矩形。
F 可选的。如果使用了 B 选项,则 F 选项规定矩形以矩形边框的颜色填充。不能不用 B 而用 F。如果不用 F 光用 B,则矩形用当前的 FillColor 和 FillStyle 填充。FillStyle 的缺省值为 transparent。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询