vb怎么用timer不断改变line方法的line颜色呢?
在timer过程中不断重画不同颜色的线条
Line 方法 在对象上画直线和矩形。
语法 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。
object.Line [Step] (x1, 1) [Step] (x2, y2), [color], [B][F]
这里的color是可选的。Long (长整型数),画线时用的 RGB 颜色。如果它被省略,则使用 ForeColor 属性值。可用 RGB 函数或 QBColor 函数指定颜色。
RGB 函数:返回一个 Long整数,用来表示一个 RGB 颜色值。
语法:RGB(red, green, blue)
RGB 函数的语法含有以下这些命名参数:
red 必要参数;Variant (Integer)。数值范围从 0 到 255,表示颜色的红色成份。
green 必要参数;Variant (Integer)。数值范围从 0 到 255,表示颜色的绿色成份。
blue 必要参数;Variant (Integer)。数值范围从 0 到 255,表示颜色的兰色成份。
由以上知识,我们可以找到解决问题的办法:
分别声明red、green、blue等3个模块级变量,在Timer控件的Timer事件过程中逐步累加,
在Line方法中应用RGB(red, green, blue)获得color值。
OK!Line方法绘制出来的线条颜色就是变化的了!
Private Sub Form_Load()
Timer1.Interval = 100
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
DrawWidth = 10 '线条宽度
Line (500, 500)-(4000, 500), RGB(Int(Rnd * 255), Int(Rnd * 255), Int(Rnd * 255)) '设置随机颜色
End Sub
Private Sub Form_Load()
Timer1.Interval = 100
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Dim a(1 To 4) As Long
Dim i As Integer
Randomize
For i = 1 To 4
a(i) = Int(Rnd * Me.Height)
Next
Line (a(1), a(2))-(a(3), a(4)), RGB(Int(Rnd * 255), Int(Rnd * 255), Int(Rnd * 255))
End Sub