当前位置:编程学习 > VB >>

做个用文本框输入来改变颜色的小程序,哪里出错了??

--------------------编程问答-------------------- 检查你你截取的数字是正确。
--------------------编程问答-------------------- 回复楼上,截取的数字无错 --------------------编程问答-------------------- HScroll1 控件的事件代码有问题
--------------------编程问答-------------------- 怎么有问题啊?我找不出啊能指点一下么?谢谢!
引用 3 楼 chen8013 的回复:
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

--------------------编程问答--------------------
引用 5 楼 chinaboyzyq 的回复:
VB code

Private Sub Form_Load()
HScroll1(0).Max = 225
HScroll1(0).Min = 0
End Sub

Private Sub Text1_K……

楼上的,这段代码什么意思啊?难道是成功运行了? --------------------编程问答--------------------

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了。 --------------------编程问答--------------------
引用 7 楼 lixiyo 的回复:
VB code

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 Inte……

我的那段代码那一行没有多余的空格,所以不是这个原因 --------------------编程问答-------------------- 是因为滚动条数组的index问题,一次只能接受一个参数过去 --------------------编程问答-------------------- 直接在change事件中不行吗
补充:VB ,  基础类
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,