做个用文本框输入来改变颜色的小程序,哪里出错了??
--------------------编程问答-------------------- 检查你你截取的数字是正确。--------------------编程问答-------------------- 回复楼上,截取的数字无错 --------------------编程问答-------------------- HScroll1 控件的事件代码有问题
--------------------编程问答-------------------- 怎么有问题啊?我找不出啊能指点一下么?谢谢!
--------------------编程问答--------------------
--------------------编程问答--------------------
Private Sub Form_Load()
HScroll1(0).Max = 225
HScroll1(0).Min = 0
HScroll1(1).Max = 225
HScroll1(1).Min = 0
HScroll1(2).Max = 225
HScroll1(2).Min = 0
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
a = InStr(10, Text1.Text, ",") '截取文本框里Color=RGB(20,0,0)”格式中第一个","前的数字赋给a,即红色的值;下面的b、c同理分别是绿色、蓝色的值
b = InStr(a + 1, Text1.Text, ",")
c = InStr(b + 1, Text1.Text, ")")
HScroll1(0) = Val(Mid(Text1.Text, 11, a - 11)) '使三个滚动条分别对应abc的值
HScroll1(1) = Val(Mid(Text1.Text, a + 1, b - a - 1))
HScroll1(2) = Val(Mid(Text1.Text, b + 1, c - b - 1))
End If
End Sub
楼上的,这段代码什么意思啊?难道是成功运行了? --------------------编程问答--------------------
Private Sub Form_Load()
Text1.Text = "Color=RGB(20,0,0)"
For i = 0 To 2
HScroll1(i).Max = 255
HScroll1(i).Min = 0
Next i
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
a = InStr(10, Text1.Text, ",")
b = InStr(a + 1, Text1.Text, ",")
c = InStr(b + 1, Text1.Text, ")")
HScroll1(0) = Val(Mid(Text1.Text, 11, a - 11))
HScroll1(1) = Val(Mid(Text1.Text, a + 1, b - a - 1))
HScroll1(2) = Val(Mid(Text1.Text, b + 1, c - b - 1))
Picture1.BackColor = RGB(HScroll1(0), HScroll1(1), HScroll1(2))
End If
End Sub
新建工程,1个picture,3ge hscroll1控件组,1个textbox,
此代码实测OK,你注意看下,你的文本框内是否是"Color=RGB(20,0,0)",注意空格,开始调试时,我输入的是"Color = RGB(20,0,0)",结果不成功,把空格都消掉后OK了。 --------------------编程问答--------------------
我的那段代码那一行没有多余的空格,所以不是这个原因 --------------------编程问答-------------------- 是因为滚动条数组的index问题,一次只能接受一个参数过去 --------------------编程问答-------------------- 直接在change事件中不行吗
补充:VB , 基础类