玄笔录电视剧:vb编程,画直线

来源:百度文库 编辑:高校问答 时间:2024/05/11 12:47:10
随即产生20条长度,颜色,宽度不同的直线。
如果属性里面要设置也请说一下。
谢谢。

窗体中添加一个Command1按钮,复制如下代码,点击命令按钮后,清屏然后随机画出20条线段

Private Sub Command1_Click()
Dim I As Integer, X1 As Integer, Y1 As Integer, X2 As Integer, Y2 As Integer
Dim ColorR As Long, ColorG As Long, ColorB As Long, DrawColor As Long
Randomize
Cls
ScaleMode = 3 ' 设置 ScaleMode 为像素
DrawMode = 13 '输出外观(前景色与背景色的操作方式)
DrawStyle = 0 '线条样式
'【0(缺省值)实线,1 虚线,2 点线,3 点划线,4 双点划线,5 无线,6 内收实线】
For I = 1 To 20
X1 = Rnd * Me.ScaleWidth
Y1 = Rnd * Me.ScaleHeight
X2 = Rnd * Me.ScaleWidth
Y2 = Rnd * Me.ScaleHeight
DrawWidth = Rnd * 10 + 1 '线条宽度,数值可选为1~32767,不过太大了就无法分辨了
ColorR = Rnd * 256
ColorG = Rnd * 256
ColorB = Rnd * 256
DrawColor = (((256 * ColorR) + ColorG) * 256) + ColorB
ForeColor = DrawColor
Line (X1, Y1)-(X2, Y2)
Next
End Sub

代码可以放在Timer里,每间隔一定时间就重新产生20条。
或放在Form_Click里,每次鼠标单击就能产生20条。

cls
randomize
for i = 1 to 20
x1=fix(rnd*form1.scalewidth)
y1=fix(rnd*form1.scaleheight)
x2=fix(rnd*form1.scalewidth)
y2=fix(rnd*form1.scaleheight)
r=fix(rnd*256)
g=fix(rnd*256)
b=fix(rnd*256)
line(x1,y1)-(x2,y2),rgb(r,g,b)
next i

Li.YQ@163.com