vb怎么用timer不断改变line方法的line颜色呢?

 我来答
jmeycn
2013-11-03 · TA获得超过373个赞
知道小有建树答主
回答量:331
采纳率:50%
帮助的人:125万
展开全部

在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。

艾迪康乐园
2013-11-03 · TA获得超过491个赞
知道小有建树答主
回答量:493
采纳率:0%
帮助的人:659万
展开全部
Line 方法的语法如下:
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方法绘制出来的线条颜色就是变化的了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忠成静0O
2013-11-03 · TA获得超过1049个赞
知道小有建树答主
回答量:1114
采纳率:100%
帮助的人:901万
展开全部
'对线条进行覆盖就可以了。请参考采纳。
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
veket的小号
2013-11-03 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3992万
展开全部
利用随机数函数生成 颜色值 做RGB颜色函数的三个颜色量
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式