本帖最后由 bcrun 于 2012-01-29 20:42:50 编辑

解决方案 »

  1.   

    HScroll1 控件的事件代码有问题
      

  2.   


    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 = 0End SubPrivate 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
      

  3.   


    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 SubPrivate 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了。
      

  4.   

    是因为滚动条数组的index问题,一次只能接受一个参数过去